CRM migration
Field-level mapping, validation, and rollback between Tubular CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Tubular CRM
Source
Salesforce Sales Cloud
Destination
Compatibility
8 of 15
objects map 1:1 between Tubular CRM and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Tubular CRM to Salesforce is a migration from a minimalist, UK-built pipeline tool into the world's most widely deployed enterprise CRM. Tubular organizes sales data around Deals, Contacts, Leads, Tags, and Deal Stage Triggers within a single pipeline, with the REST API gated behind the Enterprise tier and not publicly documented. We work around this constraint by requesting API credentials during discovery and testing connectivity directly, falling back to coordinated CSV exports and UI-based extraction for Pro-tier customers. We map Tubular Contacts to Salesforce Leads or Contacts based on qualification status, preserve Tubular Tags as Salesforce custom fields, transfer deal values and stage assignments into Opportunity records, and migrate activity history (calls, emails, meetings, tasks) through the Salesforce Bulk API with parent-record lookup resolution. Workflow automations, Deal Stage Triggers, Email Templates, and Zapier integration logic do not migrate as code; we deliver a written inventory of each active trigger and automation for the customer's admin to rebuild in Salesforce Flow.
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 Tubular CRM 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.
Tubular CRM
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manyTubular Contacts map to Salesforce Lead for unqualified or prospect-status records and to Salesforce Contact for qualified or customer-status records. We define the split rule during scoping based on the customer's Tubular pipeline and status definitions, compute the split at migration time, and preserve the original Tubular contact status in a custom field tubular_original_status__c on both Lead and Contact for audit. The Contact-Account relationship resolves by matching the Tubular Contact's associated company name to a Salesforce Account record created from the Tubular Company extract.
Tubular CRM
Company
Salesforce Sales Cloud
Account
1:1Tubular Company records map directly to Salesforce Account. The company name becomes the Account Name field and is used as a dedupe key during import. Account is created before any Contact import so that the AccountId Lookup is satisfied at the moment of Contact insert. Companies with no associated Contacts are imported as Accounts without contacts to preserve the organizational record.
Tubular CRM
Deal
Salesforce Sales Cloud
Opportunity
1:1Tubular Deal records map to Salesforce Opportunity. The deal value maps to Amount, the deal name to Opportunity Name, and the pipeline stage assignment maps to the StageName tied to the appropriate Record Type and Sales Process that we configure in Salesforce before migration. We preserve closed-won and closed-lost dates as CloseDate and Custom Lost Date fields where applicable.
Tubular CRM
Pipeline Stage
Salesforce Sales Cloud
Opportunity Stage + Sales Process
lossyEach Tubular pipeline stage becomes a Salesforce Stage value in a Sales Process configured for the migration. Stage probability percentages migrate from Tubular to Salesforce StageProbability, rounded to the nearest integer. The Sales Process is assigned to a Record Type that we create per Tubular pipeline so stage values remain scoped per line of business.
Tubular CRM
Lead
Salesforce Sales Cloud
Lead
1:1Tubular Lead records map directly to Salesforce Lead. Lead source, status, owner, and any Lead Builder custom fields migrate to the Salesforce Lead equivalent fields. Tubular's lead-to-contact conversion logic does not exist in Salesforce and requires the customer's admin to run the standard Salesforce Lead Convert action post-migration.
Tubular CRM
Tag
Salesforce Sales Cloud
Custom Multi-Select Picklist
lossyTubular Tags applied to Deals and Contacts migrate as a Salesforce custom multi-select picklist field named tubular_tags__c on both Opportunity and Contact. Multi-select picklists in Salesforce are limited to 255 characters and 500 values per field, so Tags exceeding this threshold are documented and reassessed with the customer during scoping. Tags used for categorization in Tubular are preserved as distinct values for segmentation in Salesforce reports.
Tubular CRM
Task
Salesforce Sales Cloud
Task
1:1Tubular Tasks associated with Deals and Leads map to Salesforce Task records. Task title, due date, owner (resolved via email to Salesforce User), completion status, and priority migrate directly. Recurring task patterns are not supported in Tubular export and must be documented for manual rebuild in Salesforce.
Tubular CRM
Activity Log (Email, Call, Meeting)
Salesforce Sales Cloud
Task and Event
1:1Tubular email logs, call logs, and meeting logs attached to Deals and Contacts migrate to Salesforce Task (for emails and calls with TaskSubtype set appropriately) and Event (for meetings). We use the Salesforce Bulk API 2.0 with batch chunking and parent-record lookup resolution on WhoId and WhatId. ActivityDate is set to the original Tubular timestamp to preserve timeline ordering. For Pro-tier customers with no API access, activity extraction depends on what the UI exposes in the CSV or manual export.
Tubular CRM
User / Owner
Salesforce Sales Cloud
User
1:1Tubular Users and Deal Owners map to Salesforce User records resolved by email match. Inactive users are flagged and the customer decides whether to provision inactive Salesforce Users for record reassignment or reassign records to active owners before migration. Owners without a matching Salesforce User are held in a reconciliation queue until the customer's admin provisions the account.
Tubular CRM
Deal Stage Trigger (Enterprise)
Salesforce Sales Cloud
Salesforce Flow (rebuild required)
lossyTubular Enterprise Deal Stage Triggers are platform-native automation that fires email templates or workflow actions on deal stage changes. These do not exist in Salesforce and cannot be migrated as logic. We document each active trigger during discovery with its name, stage trigger condition, actions, and email template reference, and the customer's admin rebuilds equivalents in Salesforce Flow post-migration.
Tubular CRM
Email Template (Enterprise)
Salesforce Sales Cloud
Email Template (rebuild required)
lossyTubular Email Templates are Enterprise-tier assets tied to Deal Stage Triggers. They do not migrate directly because Salesforce Email Templates use a different data model (HTML with merge fields tied to Salesforce fields). We extract the template body, subject, and merge field references during discovery and hand them to the customer's admin as a rebuild guide for Salesforce Email Templates or Lightning Email Templates.
Tubular CRM
Document / Attachment
Salesforce Sales Cloud
ContentDocument + ContentVersion
1:1PDFs and documents attached within deal flows in Tubular can be extracted via UI scraping or API where available. We preserve file names, creation dates, and the associated Deal reference, and migrate them as Salesforce ContentDocument records linked via ContentDocumentLink to the corresponding Opportunity. We do not host the files themselves; the customer provides access to the Tubular instance or the files are extracted from the UI.
Tubular CRM
Report
Salesforce Sales Cloud
Custom Report (manual rebuild)
lossyTubular reports including MoM/QoQ reports, Lead Source Reports, and Task Reports are view-only and have no export endpoint. We cannot migrate the historical data points embedded in Tubular reports. We advise the customer to screenshot or manually export any critical historical reports before migration cutoff. Post-migration, we recreate the report logic in Salesforce using standard report types and custom report types where needed, but the historical data points from Tubular are not importable.
Tubular CRM
DNA Credits / AI Enrichment Data
Salesforce Sales Cloud
Custom Fields (enrichment data preservation)
lossyTubular DNA Credits power AI-enriched lead ratings and company profiles on the Enterprise tier. These credits do not transfer to Salesforce. We extract any AI-scored lead ratings and enriched company profile fields before migration cutoff and store them in Salesforce custom fields so enrichment context is not lost. Any enrichment features consumed after migration cutoff are lost.
Tubular CRM
Custom Object (if present)
Salesforce Sales Cloud
Custom Object
1:1If Tubular has custom objects or extended custom fields beyond the standard set, we migrate them to Salesforce custom objects with __c API naming conventions. We pre-create the destination schema in Salesforce including all custom fields, field types, lookup relationships, and any validation rules before data import begins. Custom object migration is scoped separately because it depends on the specific fields and relationships present in the source instance.
| Tubular CRM | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stage + Sales Processlossy | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Tag | Custom Multi-Select Picklistlossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Activity Log (Email, Call, Meeting) | Task and Event1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Deal Stage Trigger (Enterprise) | Salesforce Flow (rebuild required)lossy | Fully supported | |
| Email Template (Enterprise) | Email Template (rebuild required)lossy | Fully supported | |
| Document / Attachment | ContentDocument + ContentVersion1:1 | Fully supported | |
| Report | Custom Report (manual rebuild)lossy | Fully supported | |
| DNA Credits / AI Enrichment Data | Custom Fields (enrichment data preservation)lossy | Fully supported | |
| Custom Object (if present) | Custom Object1: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.
Tubular CRM gotchas
Enterprise REST API is undocumented and gated
Reports cannot be programmatically exported
DNA Credits limit AI-enriched enrichment features
Deal Stage Triggers are platform-specific automation
UI-based extraction required for Pro-tier exports
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 API credentialing
We audit the source Tubular instance across tier (Pro or Enterprise), record volumes for Contacts, Companies, Deals, Leads, Tasks, and Activities, any active Deal Stage Triggers and Email Templates, and whether the customer has Enterprise-tier API credentials available. For Pro-tier customers without API access, we coordinate a manual export schedule in the correct dependency order: Companies first, then Contacts, then Deals, then Activities. We flag any Tubular reports the customer considers critical for manual screenshot export before migration cutoff.
Salesforce schema design
We design the destination schema in Salesforce. This includes provisioning custom fields for Tubular Tags (tubular_tags__c), original status (tubular_original_status__c), and any enrichment data from DNA Credits. We create Record Types and Sales Processes mapped to each Tubular pipeline stage, configure Page Layouts per Record Type, and temporarily disable validation rules that could block import. Schema is deployed via change set into a Sandbox org for validation before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer's RevOps lead reconciles record counts (Accounts in, Leads in, Contacts in, Opportunities in, Activities in), spot-checks 25-50 random records against the Tubular source, and signs off the schema and mapping before production migration begins. Any mapping corrections happen in the Sandbox, not in production.
Owner reconciliation and User provisioning
We extract every distinct Tubular Owner referenced on Contact, Company, Deal, and Engagement records and match by email against the Salesforce destination org's User table. Owners without a matching User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users before record import resumes. Migration cannot proceed past this step because OwnerId references are required on most standard Salesforce objects.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Tubular Companies), Leads and Contacts (with AccountId resolved and Tubular status preserved in custom fields), Opportunities (with RecordTypeId, StageName, and OwnerId resolved), Tasks and Events (via Bulk API 2.0 with batch chunking, exponential backoff, and WhoId/WhatId lookup resolution), Documents as ContentDocument records, Custom Objects (last, because they may have lookups to standard objects). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and handoff
We freeze Tubular writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We validate record counts against source totals, verify activity timeline ordering, spot-check field mapping accuracy, and confirm Tag application on migrated records. We deliver the Deal Stage Trigger, Email Template, and Zapier automation inventory to the customer's admin. We support a one-week hypercare window for reconciliation issues. We do not rebuild Tubular automations as Salesforce Flow inside the migration scope.
Platform deep dives
Tubular CRM
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 Tubular CRM 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
Tubular CRM: Not publicly documented.
Data volume sensitivity
Tubular CRM 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 Tubular CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Tubular CRM 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 Tubular CRM
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.