CRM migration
Field-level mapping, validation, and rollback between Ringy (formerly iSales) and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Ringy (formerly iSales)
Source
Salesforce Sales Cloud
Destination
Compatibility
7 of 12
objects map 1:1 between Ringy (formerly iSales) and Salesforce Sales Cloud.
Complexity
CModerate
Timeline
4-8 weeks
Overview
Moving from Ringy (formerly iSales) to Salesforce is a structural migration that begins with a UI-based CSV export because Ringy has no documented public API. We extract Leads, Companies, Deals, and Activity history through Ringy's Generate CSV function with the 'Include all custom fields' checkbox selected, audit the auto-block keyword list to identify silently filtered records, and resolve any gaps before mapping begins. In Salesforce, we configure the destination schema including Record Types, Sales Processes, and custom fields that mirror the Ringy data model, then load data in dependency order using the Bulk API 2.0 for activity history. Drip campaigns, automated sequences, call recordings, SMS thread content, and file attachments are not migratable as code or media; we deliver a written inventory of every visible campaign structure for the customer's admin to rebuild in Salesforce Flow. Workflow logic, sequence cadences, and automation rules do not migrate and require separate rebuild work post-cutover.
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 Ringy (formerly iSales) 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.
Ringy (formerly iSales)
Lead
Salesforce Sales Cloud
Lead or Contact (split required)
1:manyRingy uses a single Lead object as its primary record; there is no separate Contact object. We assess each Ringy Lead at migration time to determine whether it maps to a Salesforce Lead (unqualified prospect) or a Salesforce Contact attached to an Account (qualified buyer). The split decision is based on the customer's criteria: deal stage (any stage > $0 maps to Contact), lead source, or explicit custom status field. We preserve the original Ringy Lead ID in a custom field ringy_lead_id__c on both the Lead and Contact for audit and cross-reference. Because Ringy has no API, we extract using the Generate CSV function with 'Include all custom fields' selected, and the split logic runs as a post-extraction transform before Salesforce import.
Ringy (formerly iSales)
Company (from Lead rows)
Salesforce Sales Cloud
Account
1:1Ringy Companies are not exported via a separate documented path; company fields appear within Lead CSV rows (Company Name, Company Phone, Company Address, etc.). We normalize these fields into Salesforce Account records during the transform phase. The Account is created before any Contact or Lead import so that the AccountId lookup is satisfied at insert time. Company-level custom fields from Ringy map to custom Account fields in Salesforce.
Ringy (formerly iSales)
Deal
Salesforce Sales Cloud
Opportunity
1:1Ringy Deals are associated with Leads and can be included in CSV exports via filtering. We extract Deal Name, Amount, Stage, Close Date, Owner, and any associated custom properties. In Salesforce, each Deal becomes an Opportunity with the StageName mapped from Ringy stage, Amount preserved, CloseDate migrated, and OwnerId resolved via email lookup against the Salesforce User table. The AccountId on Opportunity is resolved by matching the associated Lead's Company Name against the Account Name created in the prior step.
Ringy (formerly iSales)
Deal Stage
Salesforce Sales Cloud
Opportunity Stage
lossyRingy pipeline names and stage definitions are extracted as metadata during the scoping phase. We map each Ringy stage to a Salesforce StageName value within a Salesforce Sales Process that we configure before migration. Probability percentages from Ringy map to StageProbability on each Opportunity Stage entry. Stage sequence order is preserved.
Ringy (formerly iSales)
Lead Pipeline
Salesforce Sales Cloud
Record Type + Sales Process
lossyRingy's single Lead pipeline (and any custom pipeline configurations) maps to a Salesforce Record Type on Opportunity, with a corresponding Sales Process that whitelists only the relevant stage values. If the customer uses multiple pipeline configurations in Ringy, each becomes a separate Salesforce Record Type with its own Page Layout and Sales Process so stage values stay scoped per line of business.
Ringy (formerly iSales)
Activity (calls, emails, tasks)
Salesforce Sales Cloud
Task
1:1Activity records (call disposition, email count, task history) appear in the Ringy Lead CSV export as associated history. We extract ActivityDate, ActivityType, disposition data, and notes where available. These map to Salesforce Task records: calls map with TaskSubtype=Call and CallDisposition; emails map as Task with the Ringy email body preserved in Description; tasks map with Status and Priority preserved. ActivityDate is used to maintain timeline ordering. Activity history extraction via CSV from Ringy is partial compared to API-based extraction on other platforms; we flag any gaps from the auto-audit in the scoping report.
Ringy (formerly iSales)
Custom Fields on Lead
Salesforce Sales Cloud
Custom Fields on Lead, Contact, Account, or Opportunity
1:1Ringy custom fields on Lead are included via the 'Include all custom fields' checkbox in the Generate CSV export. We map each custom field to a Salesforce custom field of equivalent type (Text, Number, Date, Picklist, Checkbox) on the appropriate object. Custom field API names are normalized to Salesforce __c convention. We verify during scoping that this checkbox was used in any prior exports; if not, we request a fresh export with the option selected. Custom field metadata (field type, picklist values) is captured from Ringy's field configuration UI before the export runs.
Ringy (formerly iSales)
Tags
Salesforce Sales Cloud
Multi-Select Picklist or Custom Text Field
lossyRingy tags applied to records appear in the Lead CSV export as comma-separated values within a tags field. We map these to Salesforce custom multi-select picklist fields on Lead or Contact. If the number of unique tags exceeds the 500-value multi-select picklist limit, we use a custom text field instead and document the full tag inventory for the customer. Tag metadata (which records had which tags) is preserved in the migration mapping document.
Ringy (formerly iSales)
Owner
Salesforce Sales Cloud
User
1:1Ringy Owner information (Assigned To) appears in the Lead and Deal CSV export. We resolve Ringy owners by email address match against the Salesforce User table in the destination org. Any Ringy Owner without a matching Salesforce User is placed in a reconciliation queue; the customer's Salesforce admin provisions the missing User before record import resumes. Inactive Salesforce Users may be used if the customer wants to preserve historical assignment; this decision is made during scoping.
Ringy (formerly iSales)
Companies (standalone)
Salesforce Sales Cloud
Account
1:1If Ringy contains standalone Company records (not tied to Leads), these export via the Lead CSV using the filter for Companies. We extract Company Name, Phone, Address, Website, and any associated custom properties, normalizing them into Salesforce Account records. Standalone Account records (without a corresponding Lead) require the customer to confirm whether these exist and whether they should be migrated as Accounts with no associated Contacts or Opportunities.
Ringy (formerly iSales)
Lead Source
Salesforce Sales Cloud
Lead Source (custom field or standard)
1:1Ringy Lead Source (referral, inbound call, website, etc.) maps to the standard Salesforce Lead Source field on Lead. If Ringy uses custom source taxonomy, we map to a custom lead source field and document the mapping for the customer's reporting team.
Ringy (formerly iSales)
Drip Campaigns (metadata only)
Salesforce Sales Cloud
Campaign (metadata document)
lossyRingy drip campaigns are automation objects with no documented export API. We cannot migrate campaign logic, sequence timing, or branching rules. We extract visible campaign metadata from Ringy's campaign list view — campaign name, associated Lead filters, stage sequence, and template names — and deliver this as a written Campaign Rebuild Reference document. The customer's admin uses this document to rebuild drip sequences as Salesforce Flow, Engagement Paths, or Sales Engagement Cadences depending on the Salesforce edition licensed.
| Ringy (formerly iSales) | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Lead | Lead or Contact (split required)1:many | Fully supported | |
| Company (from Lead rows) | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage | Opportunity Stagelossy | Fully supported | |
| Lead Pipeline | Record Type + Sales Processlossy | Fully supported | |
| Activity (calls, emails, tasks) | Task1:1 | Fully supported | |
| Custom Fields on Lead | Custom Fields on Lead, Contact, Account, or Opportunity1:1 | Fully supported | |
| Tags | Multi-Select Picklist or Custom Text Fieldlossy | Mapping required | |
| Owner | User1:1 | Fully supported | |
| Companies (standalone) | Account1:1 | Fully supported | |
| Lead Source | Lead Source (custom field or standard)1:1 | Fully supported | |
| Drip Campaigns (metadata only) | Campaign (metadata document)lossy | 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.
Ringy (formerly iSales) gotchas
Usage-based billing for calling and texting is not obvious
No public API — all data extraction is CSV-only via the UI
Auto-block keyword feature silently filters records from exports
Drip campaign and automation logic cannot be exported
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
Scoped extraction and auto-block audit
We coordinate with the customer to run the Ringy Generate CSV export with 'Include all custom fields' selected. We extract Leads, Companies, Deals, and Activity history in separate filtered exports. Simultaneously, we audit the customer's auto-block keyword list in Ringy and cross-reference it against the exported dataset to identify any records silently filtered from the export. We document the auto-block findings and recommend whether blocked records should be manually supplemented into the dataset. The output of this step is a ringy_export_manifest.csv with row counts per object, a custom_field_inventory.csv listing all extracted custom field names and types, and the auto_block_audit_report.
Destination schema design and Salesforce sandbox setup
We design the destination Salesforce schema in a Sandbox org. This includes creating any custom fields required to receive Ringy custom properties (with Salesforce field types matched to Ringy field types), configuring Record Types and Sales Processes to mirror Ringy pipeline stages, creating custom fields for ringy_lead_id__c cross-reference and auto-block status flags, and mapping the Lead-to-Lead-or-Contact split rule based on the customer's criteria. We deploy the schema via change set or metadata API into the Sandbox for validation. The Salesforce admin reviews the field-level security configuration and Page Layouts before we proceed.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-like data volumes extracted from Ringy. The customer's RevOps lead reconciles record counts (Leads in, Accounts in, Contacts in, Opportunities in, Tasks in) against the Ringy source exports, spot-checks 25-50 random records field-by-field, and validates the Lead-Contact split logic. Any field mapping corrections, missing custom fields, or pipeline stage mismatches are resolved in this phase. No production data moves until sandbox sign-off is received in writing.
Owner reconciliation and User provisioning
We extract every distinct Ringy Owner (Assigned To) from the Lead and Deal exports and match by email against the Salesforce destination org's User table. Owners without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users and confirms whether inactive Users should be used for historical assignment. OwnerId references must be resolved before any standard object import because they are required fields on most objects in Salesforce.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Ringy Company fields), Leads (with the split rule applied to create either Leads or Contacts), Contacts (with AccountId resolved), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Tasks for engagement history (via Bulk API 2.0 with chunking and WhoId lookup resolution), and Tags (as multi-select picklist values). Each phase emits a row-count reconciliation report before the next phase begins. Salesforce validation rules are either temporarily disabled or bypassed via migration-context check during this phase.
Cutover, delta migration, and workflow rebuild handoff
We freeze writes in Ringy during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the Campaign Rebuild Reference document listing every visible Ringy drip campaign with its structure and recommended Salesforce Flow equivalent. We provide a one-week hypercare window to resolve reconciliation issues raised by the sales team. We do not rebuild Ringy automations as Salesforce Flow inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
Ringy (formerly iSales)
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 5 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Ringy (formerly iSales) and Salesforce Sales Cloud.
Object compatibility
5 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
Ringy (formerly iSales): Not publicly documented.
Data volume sensitivity
Ringy (formerly iSales) 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 Ringy (formerly iSales) to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Ringy (formerly iSales) 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 Ringy (formerly iSales)
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.