CRM migration
Field-level mapping, validation, and rollback between Sanoflow and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Sanoflow
Source
Salesforce Sales Cloud
Destination
Compatibility
6 of 12
objects map 1:1 between Sanoflow and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Sanoflow to Salesforce Sales Cloud is a schema remapping, not a direct record copy. Sanoflow organises customer interactions around Contacts, Enquiries, and Kanban-style Pipelines on a WhatsApp-native platform with no documented public API. Salesforce uses the Accounts-Contacts-Leads model with Opportunities and a full REST and Bulk API. We resolve the Contact-to-Lead-or-Contact split by scoping the customer's Enquiry lifecycle, preserve Custom Field definitions and values across both platforms, and map Pipeline stages to Salesforce Record Types and Sales Processes. WhatsApp Business API credentials, Channel configurations, and Flow definitions do not transfer between platforms. We document every active WhatsApp template for Meta re-submission and deliver a written Workflow Specification Document for all Sanoflow Flows requiring rebuild in Salesforce Flow. Workflows, Webhooks, and automation logic are outside standard migration scope and are handed off as rebuild specifications to the customer's admin team.
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 Sanoflow 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.
Sanoflow
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manySanoflow Contacts map to Salesforce Lead if the contact represents an unqualified inbound enquiry or prospect, and to Salesforce Contact attached to an Account if the contact represents a qualified buyer or active customer. We determine the split by evaluating the Enquiry lifecycle: contacts with an associated open or recent Enquiry become Leads; contacts with a closed Enquiry or a Pipeline stage assignment indicating active opportunity become Contacts on an Account. The original Sanoflow contact record ID is preserved in a custom field sanoflow_contact_id__c on both Lead and Contact for audit and cross-reference.
Sanoflow
Company
Salesforce Sales Cloud
Account
1:1Sanoflow's Company concept (if used alongside Contacts) maps to Salesforce Account. Where Sanoflow Contacts are stored without an explicit company, we derive the Account name from the contact's domain or company name Custom Field. The Account is created before any Contact import so that AccountId is satisfied at Contact insert time. If no company data exists, the contact becomes a Lead instead.
Sanoflow
Enquiry
Salesforce Sales Cloud
Case or Task (context-dependent)
1:manySanoflow Enquiries represent inbound customer messages or form submissions and map differently depending on their business context. Support-type Enquiries (incoming questions, complaints, or service requests) map to Salesforce Case if Service Cloud is active in the destination org. Sales-type Enquiries (inbound interest, qualification requests) map to Task records attached to the corresponding Lead or Contact. We identify the split during scoping by examining the Flow routing rules and agent assignment patterns that determine how Enquiries are handled.
Sanoflow
Pipeline
Salesforce Sales Cloud
Record Type + Sales Process
lossyEach Sanoflow Pipeline becomes a Salesforce Record Type on Opportunity (or Case for service pipelines). The Record Type gets a corresponding Sales Process that whitelists the destination stage values matching the Sanoflow Pipeline Stage order. Stage probability percentages migrate from Sanoflow to Salesforce StageProbability fields, rounded to the nearest integer per Salesforce constraints.
Sanoflow
Pipeline Stage
Salesforce Sales Cloud
Opportunity Stage
lossySanoflow Pipeline Stages map to Salesforce Opportunity StageName values. Stage names, order, and completion criteria are preserved 1:1 in the destination Sales Process. Stage-specific automation rules from Sanoflow (such as auto-assignment or notification triggers) are documented in the Workflow Specification Document rather than migrated as they have no equivalent in Salesforce Flow without manual rebuild.
Sanoflow
Channel
Salesforce Sales Cloud
Email-to-Case or Web-to-Case routing (re-configuration)
lossySanoflow Channels represent connected messaging platforms (WhatsApp, Instagram, Messenger, TikTok). Channel configurations cannot be migrated because WhatsApp Business API credentials and Meta Business account associations are platform-specific. We document the active Channel list (name, type, connected phone number or account) and recommend that the customer's admin re-establish WhatsApp Business API connections in Salesforce using the Messaging for In-App Messaging or WhatsApp on Cloud API setup, or through an AppExchange solution such as Movius or 7th Street.io.
Sanoflow
Flow
Salesforce Sales Cloud
Salesforce Flow (manual rebuild required)
1:1Sanoflow Flows are the core automation unit and have no documented export endpoint. We extract Flow metadata during scoping: Flow name, trigger type, step count, action types (send message, assign agent, update field, add tag, create Enquiry), and any conditional branching logic. This is delivered as a Workflow Specification Document describing each Flow in sufficient detail for the customer's admin or a Salesforce consultant to rebuild in Salesforce Flow. Active Flows are not migrated as code.
Sanoflow
Custom Field (Contact and Enquiry)
Salesforce Sales Cloud
Custom Field (__c)
1:1Sanoflow Custom Fields on Contacts and Enquiries (Growth tier and above) map to Salesforce custom fields on Lead, Contact, Account, or Case respectively. We preserve the field label, field type (text, number, date, choice/picklist), and all field values. Choice-field options become Salesforce picklist values. Custom Field definitions are created in the destination org via Salesforce metadata API before data import begins.
Sanoflow
Enquiry Form
Salesforce Sales Cloud
Web-to-Lead or Salesforce Form (rebuild)
lossySanoflow Enquiry Forms are inbound entry points that generate Enquiry records. Form field definitions are migrated as metadata documenting the field structure and routing rules. The actual form hosting does not transfer between platforms. We recommend Salesforce Web-to-Lead (native, free) or a Salesforce Experience Cloud form as the replacement, and document any form-to-Flow routing rules in the Workflow Specification Document.
Sanoflow
Teams and Custom Roles
Salesforce Sales Cloud
User + Profile + Permission Set
1:1Sanoflow Teams and role assignments govern which agents manage which Enquiries. We extract team membership and role names and map them to Salesforce User records with appropriate Profiles (e.g., Sales Rep, Support Agent) and Permission Sets. Where Sanoflow roles have custom permission granularity not representable in standard Profiles, we recommend Permission Set Groups as the equivalent. Agent assignment on migrated Enquiries uses the mapped User records.
Sanoflow
WhatsApp Broadcast and Campaign
Salesforce Sales Cloud
Campaign (metadata only)
1:1WhatsApp Broadcast records migrate as Salesforce Campaign metadata (Campaign Name, type, status, audience segment description). The actual message template content is documented but the WhatsApp template approval status does not transfer. Every active WhatsApp message template is flagged with its current content, Meta Business account association, and submission date for re-approval in the new WhatsApp Business account. Re-approval timelines from Meta typically run 24-48 hours and will delay campaign continuity.
Sanoflow
Webhook
Salesforce Sales Cloud
Not migrated — re-implementation required
1:1Webhook configurations in Sanoflow (Premium and Enterprise only) point to destination-specific URLs and cannot be transferred. We document each active Webhook configuration: trigger event type, target URL, payload structure, and authentication method. The customer's admin re-creates Webhook endpoints in the destination platform post-migration, or a Salesforce Flow outbound message or Platform Event is used as the equivalent.
| Sanoflow | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Enquiry | Case or Task (context-dependent)1:many | Fully supported | |
| Pipeline | Record Type + Sales Processlossy | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Channel | Email-to-Case or Web-to-Case routing (re-configuration)lossy | Fully supported | |
| Flow | Salesforce Flow (manual rebuild required)1:1 | Fully supported | |
| Custom Field (Contact and Enquiry) | Custom Field (__c)1:1 | Fully supported | |
| Enquiry Form | Web-to-Lead or Salesforce Form (rebuild)lossy | Fully supported | |
| Teams and Custom Roles | User + Profile + Permission Set1:1 | Mapping required | |
| WhatsApp Broadcast and Campaign | Campaign (metadata only)1:1 | Fully supported | |
| Webhook | Not migrated — re-implementation required1: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.
Sanoflow gotchas
WhatsApp API conversation charges are not included in subscription price
Flow automation has no documented export or API access
Channel and Pipeline limits per plan are enforced, not soft
WhatsApp message templates do not transfer between Meta Business accounts
No public review presence makes quality verification difficult
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 Sanoflow export audit
We audit the source Sanoflow workspace across tier (Starter/Growth/Premium), active Channels, Pipelines, Pipeline Stages, Flow count and complexity, Custom Field definitions on Contacts and Enquiries, Team structure, active Webhook configurations, and WhatsApp message template inventory. We assess what data can be extracted via Sanoflow's UI export capabilities versus what requires customer-initiated data requests or manual export. The discovery output is a written Migration Scope Document listing every object, its volume, extractability, and any known constraints.
Salesforce edition recommendation and schema design
We recommend a Salesforce edition based on the customer's team size, automation requirements, and custom object needs: Professional ($80/user/month) for standard Sales Cloud without advanced Flow or custom reporting; Enterprise ($165/user/month) for record-triggered Flow at scale, advanced reporting types, and territory management; Unlimited ($330/user/month) only for 24x7 support and custom app distribution requirements. We design the destination schema: custom objects, custom fields (mapped from Sanoflow Custom Fields), Record Types (one per Sanoflow Pipeline), Sales Processes, and the Enquiry split rule (Case for support, Task/Opportunity for sales). Schema is deployed to a Salesforce Sandbox via metadata API before data migration begins.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-equivalent data volumes. The customer's RevOps or admin lead reconciles record counts: Contacts in (split to Leads and Contacts), Accounts in, Cases and Tasks in (per the Enquiry split), Opportunities in (with Record Type and Sales Process assigned), Custom Field values on all records, and Team assignments via User mapping. The customer spot-checks 25-50 random records against the Sanoflow source and signs off the schema and mapping before production migration begins.
WhatsApp template documentation and Flow inventory delivery
While data migration proceeds in parallel, we deliver the WhatsApp Message Template Inventory documenting every active template (name, current approved content, Meta Business account association, category) and the Workflow Specification Document listing every Sanoflow Flow with its trigger type, step sequence, conditions, and action types. These are handoff documents for the customer's admin and are not automated migrations. We do not rebuild Flows in Salesforce Flow as part of standard scope.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Sanoflow Company data or derived from contact records), Contacts and Leads (with the split rule applied and AccountId resolved for Contacts), Opportunities (with RecordTypeId, Sales Process, StageName, and OwnerId resolved), Cases and Tasks (from Enquiries per the split rule), Custom Field values on all records, Activity history (calls, emails, meetings, tasks via Bulk API 2.0 with chunking), Teams mapped to User records with Profiles and Permission Sets. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and post-migration handoff
We freeze Sanoflow writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Salesforce as the system of record. We deliver the Workflow Specification Document and WhatsApp Template Inventory to the customer's admin team. We support a one-week hypercare window to resolve reconciliation issues. We do not rebuild Sanoflow Flows as Salesforce Flow, re-connect WhatsApp Business API channels, or re-submit WhatsApp message templates to Meta — these are separate workstreams handled by the customer or a specialist partner.
Platform deep dives
Sanoflow
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Sanoflow and Salesforce Sales Cloud.
Object compatibility
2 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
Sanoflow: Not publicly documented.
Data volume sensitivity
Sanoflow 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 Sanoflow to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Sanoflow 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 Sanoflow
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.