CRM migration

Migrate from Road Runner to Salesforce Sales Cloud

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

Road Runner logo

Road Runner

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

92%

11 of 12

objects map 1:1 between Road Runner and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Road Runner CPQ and Salesforce Sales Cloud share the same end goal — closing deals with correct pricing — but their data models differ substantially. Road Runner stores quotes as first-class objects with embedded product configurations, pricing rule conditions, and approval-state flags. Salesforce Sales Cloud separates opportunities (the deal header), OpportunityLineItems (the product lines), and Quote objects (the formal proposal), with pricing logic handled either natively or through Salesforce CPQ. We map Road Runner quote headers to Salesforce Opportunity records, bundled product configurations to OpportunityLineItems with custom fields capturing bundle metadata, and pricing rule conditions to custom fields or CPQ configuration objects depending on your destination edition. Approval-state flags migrate as custom pick-list fields since Salesforce handles quote approvals through its own approval process. The migration uses Salesforce Bulk API 2.0 for high-volume record loading with chunked processing to respect API governor limits, followed by a 24–48 hour delta-pickup window to capture any quotes or configurations created during the cutover window.

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

Road Runner logo

Road Runner

What's pushing teams away

  • Not applicable — there is no platform at this URL to leave. Road Runner Sports is a retailer; visitors leave the site when they finish shopping.
  • If the catalog intended the PHP RoadRunner server, customers migrate off RoadRunner v1 to RoadRunner v2 due to breaking API changes, or migrate to alternative PHP servers (FrankenPHP, Swoole, ReactPHP) for simpler operational profiles.

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 Road Runner objects map to Salesforce Sales Cloud

Each row shows how a Road Runner 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.

Road Runner

Quote

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

Road Runner quote headers map 1:1 to Salesforce Opportunity records. Quote name, total amount, and status fields map to Opportunity Name, Amount, and StageName. Owner resolution happens by email match to Salesforce users before records insert. All Road Runner timestamps are preserved in custom datetime fields on the Opportunity record to maintain historical reporting continuity and audit trail integrity across the migration.

Road Runner

Quote

maps to

Salesforce Sales Cloud

Quote

1:1
Fully supported

If the destination org uses Salesforce native Quotes, Road Runner quote documents map to the Salesforce Quote object. Quote expiration date, description, and billing/shipping terms migrate as Quote fields. Approval state flag migrates as a custom field since Salesforce Quote approval is a separate configuration.

Road Runner

Product

maps to

Salesforce Sales Cloud

Product2 + PricebookEntry

1:1
Fully supported

Road Runner product definitions with pricing tiers map to Salesforce Product2 records plus PricebookEntry records tied to the standard or custom pricebook. Unit price and pricing model type (one-time, recurring, usage) translate to PricebookEntry.UnitPrice and subscription fields. Pricing tier metadata is preserved as custom fields on the Product2 record to maintain tiering structure, and each PricebookEntry references the appropriate pricebook ID for the destination org.

Road Runner

Configuration Bundle

maps to

Salesforce Sales Cloud

OpportunityLineItem + Custom Junction Object

1:many
Fully supported

Road Runner configuration bundles — parent product with mandatory or optional child products — split into OpportunityLineItem records. Bundle metadata (mandatory/optional flags, quantity rules) are stored in custom fields on the line item or a junction object to preserve the bundle hierarchy in Salesforce.

Road Runner

Pricing Rule

maps to

Salesforce Sales Cloud

Custom Field on Quote/OpportunityLineItem + Salesforce Flow

1:1
Fully supported

Road Runner pricing rule conditions (discount tiers, volume breakpoints, customer-type discounts) translate to a combination of custom fields on OpportunityLineItem capturing rule metadata, plus a Salesforce Flow that evaluates the condition at quote-generation time. If destination has CPQ, conditions map to CPQ Pricing Rules.

Road Runner

Quote Approval

maps to

Salesforce Sales Cloud

Custom Approval_Status__c Field + Salesforce Approvals

1:1
Fully supported

Road Runner approval-state field (pending, approved, rejected) migrates as a custom pick-list field on the Quote object. Salesforce approval routing requires manual configuration in Salesforce Approvals or CPQ Approvals — we provide a mapping of approver-role names to Salesforce roles as a rebuild reference.

Road Runner

Account

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

Road Runner accounts map directly to Salesforce Account records. Account name, industry, website, and billing address migrate as standard Account fields. Multi-address records collapse to the primary billing address with secondary addresses stored in custom fields. Owner assignments are resolved via email matching against Salesforce users prior to migration to ensure accountability and proper sharing model activation.

Road Runner

Contact

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Road Runner contact records map to Salesforce Contact objects. First name, last name, email, phone, and title migrate as standard fields. Contacts without a primary account link attach to a default 'Unassigned Account' record to satisfy the required AccountId lookup.

Road Runner

Opportunity (deals managed outside CPQ in Road Runner)

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

Road Runner deals or opportunities tracked outside the CPQ flow map to Salesforce Opportunity records using standard stage, amount, close date, and owner fields. Pipeline and stage mapping uses Salesforce Sales Processes tied to record types if the org uses multiple deal types.

Road Runner

Custom Quote Field

maps to

Salesforce Sales Cloud

Custom Field on Quote / OpportunityLineItem

1:1
Fully supported

Road Runner custom fields on quotes (region codes, contract-type flags, internal references) that have no Salesforce standard equivalent require custom field creation on the Quote or OpportunityLineItem object before migration. We deliver a custom field specification sheet as part of the pre-migration schema plan.

Road Runner

Product Relationship

maps to

Salesforce Sales Cloud

Custom Junction Object or OpportunityLineItem

1:1
Fully supported

Road Runner related-product links (cross-sell, upsell, substitute) translate to a custom junction object or custom fields on OpportunityLineItem depending on the relationship type. N:N product relationships in Road Runner require junction objects in Salesforce. Relationship metadata including effective dates, priority flags, and cross-sell sequences are preserved in custom fields to maintain full business context during the transition.

Road Runner

Document / Attachment

maps to

Salesforce Sales Cloud

Salesforce Files / ContentDocument

1:1
Fully supported

Road Runner attached documents on quotes or products re-upload to Salesforce Files linked to the corresponding Opportunity or Quote record. File size limits (Salesforce default 25MB per file) are enforced; files exceeding the limit are flagged for manual transfer. Version history and original file names are preserved where available, with each document linked to its source quote or product for full traceability and audit compliance.

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.

Road Runner logo

Road Runner gotchas

High

No public REST API for FSM record export

High

v1-to-v2 API rewrite requires complete config migration

Medium

Per-installation KV namespace schema varies

Medium

Bulk export not supported — we read incrementally

Low

Attachment and media files are external to RoadRunner

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

  • API rate limit chunking adds non-obvious migration time for high-volume quote libraries

    Road Runner's API returns paginated quote and product records — the rate-limit plugin issue tracked in their GitHub means that large exports (>10,000 quotes) require multi-batch pagination with per-page delay handling. On the Salesforce side, Enterprise Edition enforces 100,000 daily API requests plus 1,000 per user license, and Bulk API 2.0 caps at 15,000 batches per day. FlitStack sequences the export in page-sized chunks using the Road Runner v2 API, then bulk-loads into Salesforce to avoid hitting the daily REST limit. High-volume migrations with 100,000+ quote lines typically extend one to two days beyond the baseline 48–72 hour window because of this chunking requirement.

  • Road Runner approval-state flags require Salesforce Approvals rebuild — they don't migrate automatically

    Road Runner stores approval status as a field on the quote object (pending, approved, rejected) with associated approver-role metadata. Salesforce handles quote approvals through Salesforce Approvals, Process Builder, or CPQ Approvals — none of which are part of the data migration. A quote with status='approved' in Road Runner lands in Salesforce with no approval record attached, meaning the approval history is blank in Salesforce until the approval flow is configured. We preserve the approval-status value as a custom pick-list field (Approval_Status__c) on the Quote object and deliver an approval-rebuild mapping document that maps Road Runner approver-role names to Salesforce roles so your admin can configure the Salesforce Approvals workflow after migration.

  • AI-driven pricing recommendations are data, not logic — they can't be replicated without Salesforce Einstein

    Road Runner surfaces AI pricing recommendations, next-best-action nudges, and discount guidance as quote-level data points. These are not automation rules that can be migrated as configuration — they are historical scoring data attached to specific quotes. In Salesforce, Einstein Activity Capture and Einstein Lead Scoring provide analogous scoring, but only on Unlimited and Einstein 1 Sales tiers ($330–$550/user/month). FlitStack migrates the AI score values as custom number fields on Quote and OpportunityLineItem so the historical data is visible, but the AI-driven guidance itself requires enabling Salesforce Einstein on the destination org. Teams on Professional or Enterprise editions will need to rebuild discount guidance logic in Salesforce Flow.

  • Configuration bundle hierarchy requires a junction object or custom fields — flat line items lose bundle structure

    Road Runner treats configuration bundles as first-class objects with parent-child relationships, mandatory/optional flags, and quantity dependency rules between bundle components. Salesforce OpportunityLineItems are flat — each line item is independent with no native bundle parent-child relationship. The standard workaround is a custom bundle-metadata field on each OpportunityLineItem (Bundle_Parent_ID__c) plus a custom junction object (Bundle_Configuration__c) that holds the bundle-level metadata. We surface the bundle structure in the migration plan and create the junction object in Salesforce before data loads, but the bundle logic itself — enforcing mandatory selections, quantity rollup, and pricing aggregation — requires a Salesforce Flow or Apex trigger on the destination org.

  • Pricing rule conditions stored as custom text must be manually rebuilt in CPQ or Flow

    Road Runner pricing rules store conditions (volume breakpoints, customer-type discounts, contract-length multipliers) as structured attributes on the product or quote. These conditions have no direct Salesforce equivalent — PricebookEntry stores price only, not rule logic. We capture the condition logic as a custom long-text field (Pricing_Rule_Condition__c) on OpportunityLineItem for audit purposes, but the actual rule evaluation must be rebuilt. If your destination org has Salesforce CPQ, conditions map to CPQ Pricing Rules; otherwise, Salesforce Flow with decision elements and formula fields can approximate the behavior with custom development. The rebuild effort is scoped separately from the data migration.

Migration approach

Six steps for a successful Road Runner to Salesforce Sales Cloud data migration

  1. Audit Road Runner data model and build Salesforce schema plan

    FlitStack AI begins every migration with a structured audit of your Road Runner instance: all quote objects, product records, pricing rule fields, bundle configurations, approval-state fields, and custom fields are catalogued. We produce a Salesforce schema setup plan specifying which custom fields to create on Opportunity, Quote, OpportunityLineItem, and Product2 objects, which junction objects to create for bundle hierarchies, and which pricebook to target. This plan is reviewed with your Salesforce admin before any data moves so the destination org schema is ready before validation runs.

  2. Resolve owners and users by email match

    Road Runner quote owners map to Salesforce Opportunity owners by email address. We run an owner-resolution query against your Salesforce org's user list before migration to identify matches and flag any Road Runner owners who don't have a Salesforce user account. Your team either creates Salesforce user accounts for unmatched owners or designates a fallback owner before migration. No opportunity lands in Salesforce without a valid OwnerId — this prevents orphaned records and broken sharing model entries.

  3. Migrate accounts, contacts, products, and pricebook entries first

    Salesforce requires a strict object hierarchy: Product2 must exist before PricebookEntry can be created, Account must exist before Contact (via AccountId), and Opportunity requires AccountId before it can be saved. We sequence the migration so the dependency chain resolves correctly — Products → PricebookEntries → Accounts → Contacts → Opportunities → Quote Lines. Bundle junction objects are created in the same pass as OpportunityLineItems. This sequencing prevents foreign-key violations that would otherwise cause partial record inserts and require rollback.

  4. Run sample migration with field-level diff before full data transfer

    A representative sample — typically 100–500 records spanning quotes, quote lines, products, and accounts — migrates first against a Salesforce sandbox or the destination org. FlitStack generates a field-level diff report comparing source values to destination values so you can verify that approval-status mapping, pricing rule condition capture, bundle metadata encoding, and AI score preservation all landed correctly. You sign off on the diff before the full migration run commits. This step catches mis-mapped pick-list values, missing custom fields, and pricing condition encoding before thousands of records move.

  5. Execute full migration with delta-pickup and audit-log rollback

    The full migration runs against Salesforce using Bulk API 2.0 for high-volume quote and line-item loading, with REST API for smaller reference objects. A delta-pickup window of 24–48 hours runs alongside the cutover — any Road Runner quotes, products, or pricing updates created during the migration window are captured and loaded into Salesforce before go-live. Every operation is logged in an audit trail. If the post-migration reconciliation report shows record count or field discrepancies, a one-click rollback reverts all migrated records so the team can re-run from a known-good state.

Platform deep dives

Context on both ends of the pair

Road Runner logo

Road Runner

Source

Strengths

  • Plugin-based architecture means FSM data lives in configurable storage backends, giving migration flexibility.
  • Native Temporal and Jobs support for background task queue migrations.
  • OpenTelemetry integration allows tracing data to be preserved during migration.
  • Distributed locks and health-check plugins give visibility into runtime state that helps us validate migration integrity.
  • Centrifuge websocket support enables real-time notification migration to destination platforms.

Weaknesses

  • No documented public REST API for standard CRM or FSM record types — all data lives in opaque plugin-specific storage.
  • FSM objects like Work Orders and Technicians have no native schema; they are custom KV namespaces that vary per installation.
  • No documented rate limit or bulk API — migration pacing must be negotiated per deployment.
  • RoadRunner v1-to-v2 migration has breaking changes across tuning, configuration, and API endpoints.
  • Road Runner Sports (roadrunnersports.com) usage suggests a heavily customised per-installation fork, making generic migration tooling unreliable.
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. 3 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 Road Runner and Salesforce Sales Cloud.

  • Object compatibility

    B

    3 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

    Road Runner: Not applicable.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Road Runner to Salesforce Sales Cloud migrations complete in 48–72 hours for teams with under 50,000 quote records and straightforward pricing rules. High-volume migrations with 500,000+ quote lines, complex bundle hierarchies, and multiple custom pricing fields extend to 5–7 days. The longest planning step is mapping Road Runner pricing rule conditions to Salesforce custom fields or CPQ configuration objects before data validation runs. API rate-limit chunking on the Road Runner export side can add one to two additional hours for large quote libraries.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Road Runner.
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