CRM migration
Field-level mapping, validation, and rollback between Onpipeline and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Onpipeline
Source
Salesforce Sales Cloud
Destination
Compatibility
10 of 16
objects map 1:1 between Onpipeline and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Onpipeline to Salesforce is a structural migration that shifts a deal-centric sales model into Salesforce's more granular Account-Contact-Opportunity architecture. Onpipeline organizes its sales process around Deals linked to Contacts (and optionally Companies), while Salesforce splits this model into Leads, Contacts, Accounts, and Opportunities with explicit Record Types and Sales Processes for pipeline stages. We preserve the original Onpipeline Deal value, stage assignment, and custom fields; map the per-user Calendar to Salesforce Events under the correct owner; and handle recurring revenue schedule metadata as a custom configuration that requires a post-migration subscription management setup if automated billing continues in Salesforce. Workflows, Automations, and Web Forms do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow and Web-to-Lead.
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 Onpipeline 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.
Onpipeline
Contact
Salesforce Sales Cloud
Lead or Contact (split decision)
1:manyOnpipeline Contacts map to Salesforce Lead if the contact represents an unqualified prospect or inbound inquiry, and to Salesforce Contact attached to an Account if the contact represents a qualified buyer or existing customer relationship. We determine the split during scoping by examining the Onpipeline Lifecycle Stage property (lead, customer, evangelist) and the presence of associated Deals. A closed-won Deal or a Lifecycle Stage of customer maps to Contact under an Account; all others map to Lead. The original Onpipeline Lifecycle Stage and any Tags are preserved in custom fields on the migrated Salesforce record for audit and segmentation.
Onpipeline
Company
Salesforce Sales Cloud
Account
1:1Onpipeline Company records map directly to Salesforce Account. The Company domain or website becomes the Account Website field and is used as the dedupe key during bulk import. The Account must be inserted before any Contact import so that the AccountId Lookup relationship is satisfied at the moment of Contact upsert. Onpipeline allows a Contact to exist without a Company; those Contacts migrate as Leads without an AccountId and are flagged for manual Account assignment during UAT.
Onpipeline
Deal
Salesforce Sales Cloud
Opportunity
1:1Onpipeline Deals map to Salesforce Opportunity. The Deal value, stage name, probability, and expected close date migrate to Opportunity Amount, StageName, Probability, and CloseDate. The Onpipeline Deal linked Contact resolves to the Salesforce Contact via email match; if the Contact migrated as a Lead rather than a Contact, we link the Opportunity to the Lead instead and flag it for conversion during UAT. Custom fields on Deal (Standard and Advanced plans) map to equivalent custom fields on Opportunity.
Onpipeline
Pipeline Stage
Salesforce Sales Cloud
Opportunity Stage
lossyOnpipeline allows custom stage names and probabilities per pipeline. We capture the full stage hierarchy during discovery, then create a Salesforce Sales Process that whitelists the migrated stage names. Probability percentages from Onpipeline transfer to Salesforce StageProbability with rounding to the nearest whole number. If the customer uses multiple Onpipeline pipelines, we create separate Salesforce Record Types on Opportunity, each with its own Sales Process.
Onpipeline
Activity / Event
Salesforce Sales Cloud
Event
1:1Onpipeline Events (calendar appointments) map to Salesforce Event with StartDateTime, EndDateTime, Subject, Location, and Description preserved. The assigned Onpipeline user resolves to the Salesforce User via email match and becomes the Event Owner. Attendee records from Onpipeline map to EventRelation records linking the Event to the related Contact, Lead, or Account. Onpipeline's user-scoped calendar model means each user has one calendar containing all Events; we preserve this by maintaining owner attribution on each Event record.
Onpipeline
Task
Salesforce Sales Cloud
Task
1:1Onpipeline Tasks migrate to Salesforce Task with Subject, Status, Priority, ActivityDate, and Description preserved. The assigned Onpipeline user resolves to Salesforce OwnerId. Tasks linked to Deals carry the WhatId pointing to the migrated Opportunity; Tasks linked to Contacts carry the WhoId pointing to the migrated Lead or Contact. Completed status maps directly from Onpipeline completion flags.
Onpipeline
Note
Salesforce Sales Cloud
Note
1:1Onpipeline Notes attached to Deals or Contacts migrate to Salesforce Note records. The Note body and creation timestamp transfer as-is. We link each Note to its parent record via ContentDocumentLink using the resolved Contact or Opportunity ID. Onpipeline files attached to Deals and Contacts migrate as ContentDocument records and are linked via ContentDocumentLink to preserve the association.
Onpipeline
Product
Salesforce Sales Cloud
Product2
1:1Onpipeline Product catalog records (name, SKU, price, stock quantity) map to Salesforce Product2. Stock quantity is preserved in a custom field on Product2 since Salesforce does not have native inventory management. Standard Pricebook entries are created during migration with the Onpipeline price as the ListPrice. The Product2 PricebookId is resolved at Line Item import time.
Onpipeline
Quote
Salesforce Sales Cloud
Quote
1:1Onpipeline Quotes with line items, pricing, and e-signature status migrate to Salesforce Quote records. Quote header fields (quote date, expiration, total amount) map directly; each line item becomes an OpportunityLineItem attached to the parent Opportunity that was created from the Onpipeline Deal. E-signature status and signed document references are stored in a custom field since Salesforce Quote does not natively store e-sign metadata. The Quote is linked to the Contact and Opportunity via QuoteContactId and OpportunityId.
Onpipeline
Invoice
Salesforce Sales Cloud
Custom Invoice Object or Order
lossyOnpipeline Invoice records (header, line items, payment status) require a destination mapping decision during scoping. Salesforce Quote is suitable for proposal-to-acceptance workflows; Salesforce Order is suitable for post-sale record keeping. We recommend creating a custom Invoice object in Salesforce with a Number, Date, Amount, Status, and Line Items custom field set, since neither native object is purpose-built for imported historical invoices. Recurring invoice automation configuration (Advanced plan) is noted as metadata only and does not transfer; automated billing requires a post-migration Revenue Cloud or subscription app setup.
Onpipeline
Tag
Salesforce Sales Cloud
Multi-Select Picklist or Custom Tag Field
lossyOnpipeline Tags applied across Contacts, Companies, and Deals migrate to Salesforce as a multi-select picklist field on the relevant standard object, or as a custom Tag__c field if the customer uses a tag architecture that crosses object types. The customer selects the tag strategy during scoping. Tag frequency and usage counts are preserved in the field values.
Onpipeline
Recurring Revenue / Subscription
Salesforce Sales Cloud
Custom Subscription Object
lossyOnpipeline recurring revenue schedules (subscription metadata: amount, frequency, start date, next billing date) migrate as records in a Salesforce custom object that we provision during schema design. Automated recurring invoice generation is a feature available only on Onpipeline's Advanced plan ($75/user/mo); Standard plan customers do not have this feature, and Advanced plan customers using this feature require a post-migration setup in Salesforce Revenue Cloud or a third-party subscription management tool. We preserve the schedule data as a record; the automation layer is out of migration scope.
Onpipeline
Web Form
Salesforce Sales Cloud
Web-to-Lead or Custom Web Form
lossyOnpipeline Web Form definitions (field names, field types, submission routing) are documented as a written form schema that the customer's admin uses to rebuild in Salesforce Web-to-Lead, Experience Cloud Forms, or a third-party form tool. Form submission records migrate as Salesforce Leads with the original submission timestamp, form source, and field values preserved in custom fields. Any Zapier integration routing form data from Onpipeline requires reconfiguration in the Zapier account to point to Salesforce.
Onpipeline
Custom Field
Salesforce Sales Cloud
Custom Field
1:1Onpipeline custom fields on Contacts, Companies, Deals, and Products migrate to Salesforce custom fields of equivalent data type. We extract the custom field schema during discovery, map Onpipeline field types (text, number, date, dropdown, checkbox) to Salesforce field types (Text, Number, Date, Picklist, Checkbox), provision the custom fields in the destination org before data import, and migrate all values in the same import phase as their parent object. Custom field API names preserve the Onpipeline field name with a migration-origin prefix for traceability.
Onpipeline
User / Owner
Salesforce Sales Cloud
User
1:1Onpipeline Users assigned as Deal owners and activity assignees are resolved by email match against the destination Salesforce org User table. Any Onpipeline User without a matching Salesforce User is placed in a reconciliation queue and the customer's admin provisions the User before the production migration phase begins. OwnerId references on Opportunities, Events, and Tasks are resolved at migration time; orphaned records without a resolved OwnerId are flagged in the reconciliation report and held for manual assignment.
Onpipeline
Calendar
Salesforce Sales Cloud
Event
1:1Onpipeline's per-user Calendar containing Events and Appointments maps directly to Salesforce Event records under the correct User owner. Each Onpipeline user has one calendar; Salesforce uses a shared Event model where Events are owned by a User but visible to other users based on sharing rules. We preserve the user-to-calendar ownership so the activity history remains accessible under each User. Team Leaders viewing team calendars in Onpipeline map to Salesforce sharing rules configured during schema design to grant team-calendar visibility.
| Onpipeline | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split decision)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Activity / Event | Event1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Product | Product21:1 | Fully supported | |
| Quote | Quote1:1 | Fully supported | |
| Invoice | Custom Invoice Object or Orderlossy | Fully supported | |
| Tag | Multi-Select Picklist or Custom Tag Fieldlossy | Fully supported | |
| Recurring Revenue / Subscription | Custom Subscription Objectlossy | Fully supported | |
| Web Form | Web-to-Lead or Custom Web Formlossy | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Calendar | Event1:1 | Mapping required |
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.
Onpipeline gotchas
Trial account data deleted 7 days after expiry
Calendar is user-scoped, not team-wide by default
Recurring invoice automation gated to Advanced plan
Facebook Lead Ads import requires API or Zapier setup
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 scoping
We audit the source Onpipeline account across all plans (Pipeline, Standard, Advanced) to capture the full object inventory: Contact count, Company count, Deal count, Activity volume (Events, Tasks, Notes), Product catalog size, Quote and Invoice record counts, custom field schema, pipeline stage definitions, and recurring revenue schedule count. We confirm whether the account is on a paid subscription (or the trial expiration date) to rule out data deletion risk. The discovery output is a written migration scope document with record counts, a Salesforce edition recommendation (Professional at $150/user or Enterprise at $225/user), and a pre-migration data hygiene checklist for the customer.
Schema design and Salesforce provisioning
We design the destination Salesforce schema in a Sandbox org. This includes provisioning any custom objects required (Invoice, Subscription), creating custom fields on Contact, Account, Opportunity, Product2, and custom objects with types mapped from Onpipeline, configuring Record Types and Sales Processes for each Onpipeline pipeline, setting up sharing rules for calendar visibility, and establishing the Lead-Contact split rule based on the customer's Onpipeline Lifecycle Stage matrix. The schema is validated in Sandbox before any production data moves.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-like data volume extracted from Onpipeline. The customer's RevOps lead reviews record counts (Accounts in, Contacts in, Opportunities in, Events in, Tasks in, Notes in, Products in, Quotes in, Invoices in), spot-checks 25-50 records against the Onpipeline source, and approves the mapping and schema before production migration begins. Any field mapping corrections, custom field additions, or validation rule adjustments happen in this phase.
Owner reconciliation and User provisioning
We extract every distinct Onpipeline User referenced as a Deal owner, Event assignee, or Task assignee and match by email against the destination Salesforce org's User table. Any Onpipeline User without a matching Salesforce User is placed in a reconciliation queue and the customer's admin provisions the missing Users before record migration begins. Because OwnerId is a required reference on Opportunity and a recommended reference on Event and Task, migration cannot proceed past this step with orphaned owners unresolved.
Production migration in dependency order
We run production migration in the following sequence to satisfy Salesforce's referential integrity requirements: Accounts (from Onpipeline Companies), Products (Product2 and Pricebook entries), Contacts and Leads (with the Lifecycle Stage split applied and AccountId or Lead resolved), Opportunities (with AccountId, OwnerId, RecordTypeId, and StageName resolved), OpportunityLineItems (PricebookEntry resolved at migration time), Quotes (linked to Opportunity and Contact), Custom Invoice records (if custom Invoice object was provisioned), Events and Tasks (via Bulk API 2.0 with OwnerId resolved), Notes (via Bulk API 2.0 with parent record resolved), and Custom Subscription records (recurring revenue metadata). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta sync, and handoff
We freeze Onpipeline writes during the cutover window, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver a written inventory of Onpipeline Workflows, Automations, and Web Forms for the customer's admin to rebuild in Salesforce Flow and via Web-to-Lead. We provide a one-week hypercare window to resolve any reconciliation issues reported by the sales team. We do not rebuild Onpipeline Workflows as Salesforce Flow or configure recurring invoice automation inside the migration scope; those are separate engagements.
Platform deep dives
Onpipeline
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 Onpipeline 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
Onpipeline: Not publicly documented in the available developer docs.
Data volume sensitivity
Onpipeline 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 Onpipeline to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Onpipeline 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 Onpipeline
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.