CRM migration
Field-level mapping, validation, and rollback between OptimoRoute and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
OptimoRoute
Source
Nutshell
Destination
Compatibility
10 of 10
objects map 1:1 between OptimoRoute and Nutshell.
Complexity
BStandard
Timeline
24–72 hours
Overview
OptimoRoute stores orders, customers, drivers, vehicles, and routing constraints — structured around multi-stop delivery and field-service scheduling. Nutshell models People, Companies, Leads, and Deals with a simpler object graph. The migration challenge is that OptimoRoute's routing-specific data (stop sequences, time windows, driver skill constraints, vehicle load capacities, proof-of-delivery records) has no native equivalent in Nutshell. FlitStack AI handles this by converting OptimoRoute's structured routing payload into custom fields on Nutshell Deals and custom fields on People for driver records. We export OptimoRoute data via their JSON-RPC API (5-concurrent-request limit applies), validate field-level mapping against a test slice, then bulk-import into Nutshell via their REST API. The delta-pickup window captures any orders modified during cutover. Workflows, auto-planning rules, driver app configurations, and dispatching constraints do not migrate — those are OptimoRoute-specific constructs that must be rebuilt in Nutshell or handled outside the CRM. Custom field mapping follows a naming convention using OptimoRoute's source field names prefixed with custom_ and suffixed with __c to ensure traceability back to the original OptimoRoute data.
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 OptimoRoute object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
OptimoRoute
Order
Nutshell
Deal
1:1OptimoRoute orders map to Nutshell Deals. The order name becomes Deal name, amount maps to Deal value, and the order status maps to the Nutshell pipeline stage. Routing metadata (route name, stop sequence, time window) is stored in custom fields on the Nutshell Deal since Nutshell has no native routing object.
OptimoRoute
Customer (recipient on order)
Nutshell
Person + Company
1:1OptimoRoute customers (name, email, phone, address) map to Nutshell People. When a company name is present on the order, the customer is linked to a Nutshell Company record as well. If no company is provided, the person record is created standalone and the address is stored on the Person.
OptimoRoute
Driver
Nutshell
Person (custom type: Driver)
1:1OptimoRoute drivers are people records in Nutshell. We set a custom person type field to 'Driver' so your team can distinguish dispatch users from sales contacts. Driver attributes — license class, vehicle type, service area, shift schedule — migrate as custom fields on the Person record.
OptimoRoute
Vehicle
Nutshell
Company (custom type: Vehicle)
1:1OptimoRoute vehicles are stored as Companies in Nutshell with a custom type field set to 'Vehicle'. Vehicle attributes (capacity, refrigeration flag, vehicle type, cost settings) migrate as custom fields on the Company record. This keeps vehicle data linked to the account without mixing it into driver-person records.
OptimoRoute
Stop / Delivery location
Nutshell
Activity (Task) on Deal
1:1OptimoRoute stops within an order are not standalone objects in Nutshell — they are decomposed into Activity records (Tasks) attached to the Deal. Each activity records the stop address, scheduled time window, actual arrival timestamp, and proof-of-delivery status. This preserves the delivery sequence in Nutshell's activity log.
OptimoRoute
Custom order field (text / number / single-select)
Nutshell
Custom field on Deal or Person
1:1OptimoRoute custom order fields map to Nutshell custom fields on the Deal object for order-level attributes. Nutshell supports custom fields on People, Companies, and Leads — driver-specific custom fields in OptimoRoute map to custom fields on the Driver Person record. Multi-select fields in OptimoRoute convert to single-select in Nutshell since Nutshell's custom field choices are single-select only.
OptimoRoute
Proof of Delivery (signature, photo, notes)
Nutshell
Activity + Attachment on Deal
1:1OptimoRoute POD records (timestamp, type, notes, signature URL, photo URL) are stored as Nutshell Activity records on the Deal with a POD label. If photos or signatures were uploaded as files in OptimoRoute, they are re-uploaded as attachments to the corresponding Nutshell Deal. POD signatures that were URLs only are preserved as a link in the activity notes.
OptimoRoute
Route (collection of stops with planned sequence)
Nutshell
Custom fields on Deal + Activity chain
1:1Nutshell has no native route or schedule object. The OptimoRoute route name, planned distance, planned duration, and actual distance driven (breadcrumb data) are stored as custom fields on the Deal. The ordered stop sequence is preserved via the Activity chain. Route-level performance metrics (drive time reduction, fuel savings) do not migrate — those are OptimoRoute analytics that should be sourced from OptimoRoute's reporting export before cutover.
OptimoRoute
OptimoRoute user / dispatcher account
Nutshell
Nutshell User
1:1OptimoRoute dispatcher accounts and driver accounts map to Nutshell Users by email match. Drivers who are also customer contacts (e.g., a field technician receiving deliveries) are created as Nutshell People first, then assigned a Nutshell User license if they need CRM access. OptimoRoute driver-app-only accounts that do not need CRM access are not migrated as Nutshell users.
OptimoRoute
OptimoRoute integrations (SAP, NetSuite, Salesforce, Zoho, Shopify, Zapier)
Nutshell
No equivalent
1:1OptimoRoute integrations with ERP, CRM, e-commerce, and automation platforms are third-party connections that do not have a migration path into Nutshell. Each integration must be rebuilt in Nutshell via its own integration ecosystem (Nutshell's Zapier app, native integrations, or API). We flag each active OptimoRoute integration before migration so your team can plan the rebuild.
| OptimoRoute | Nutshell | Compatibility | |
|---|---|---|---|
| Order | Deal1:1 | Fully supported | |
| Customer (recipient on order) | Person + Company1:1 | Fully supported | |
| Driver | Person (custom type: Driver)1:1 | Fully supported | |
| Vehicle | Company (custom type: Vehicle)1:1 | Fully supported | |
| Stop / Delivery location | Activity (Task) on Deal1:1 | Fully supported | |
| Custom order field (text / number / single-select) | Custom field on Deal or Person1:1 | Fully supported | |
| Proof of Delivery (signature, photo, notes) | Activity + Attachment on Deal1:1 | Fully supported | |
| Route (collection of stops with planned sequence) | Custom fields on Deal + Activity chain1:1 | Fully supported | |
| OptimoRoute user / dispatcher account | Nutshell User1:1 | Fully supported | |
| OptimoRoute integrations (SAP, NetSuite, Salesforce, Zoho, Shopify, Zapier) | No equivalent1: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.
OptimoRoute gotchas
API rate limit of 5 concurrent requests is migration-critical
Custom order fields are restricted to three types only
Proof of delivery assets require separate extraction and upload
Multi-day route plans must be deconstructed before migration
Driver activation codes are not returned by the API after creation
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Audit OptimoRoute data inventory and API export
FlitStack AI connects to your OptimoRoute account via the Web Service JSON-RPC API using your API key. We pull a full export of all orders (with status, amounts, routing metadata, and custom fields), customer records, driver profiles, vehicle data, and proof-of-delivery history. Given OptimoRoute's 5-concurrent-request limit, we pace the export with retry logic and batch records to stay within throughput limits. We generate a data inventory summary showing record counts per object, custom field names and types, and any active integration endpoints before mapping begins.
Design Nutshell custom field schema
We create the custom fields in Nutshell required to hold OptimoRoute routing data before any records move. This includes custom fields on the Deal object for route name, planned distance, actual distance, time window start and end, assigned driver reference, and POD status. We create custom fields on the Person object for driver attributes (license class, vehicle type, service area, shift times). If any OptimoRoute custom order fields use multi-select patterns, we agree on a conversion strategy — semicolon-delimited text or separate single-select fields — in a pre-migration field audit document.
Run sample migration with field-level diff
A representative slice of orders — typically 100–500 records spanning orders from different routes, driver profiles, and custom field configurations — migrates to Nutshell first. We generate a field-level diff showing every OptimoRoute field value and its corresponding Nutshell field. You can verify that order names, amounts, customer links, routing metadata, stop activity chains, and POD records all landed correctly. This is the validation gate before the full run commits — any mapping adjustments are made based on the diff output before we proceed.
Execute full migration with delta-pickup window
The full OptimoRoute dataset migrates to Nutshell: Companies, People (customers and drivers), Deals with routing custom fields, and Activity chains for stop sequences and POD records. A delta-pickup window (typically 24–48 hours) runs after the initial import to capture any orders created or modified in OptimoRoute during the cutover window. After delta-pickup completes, FlitStack AI generates a reconciliation report comparing Nutshell record counts against the original OptimoRoute export totals. One-click rollback is available if reconciliation identifies a material mismatch.
Platform deep dives
OptimoRoute
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 OptimoRoute and Nutshell.
Object compatibility
1 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
OptimoRoute: 5 concurrent requests per account or per IP address; requests exceeding this return ERR_TOO_MANY_CONNECTIONS.
Data volume sensitivity
OptimoRoute 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 OptimoRoute to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your OptimoRoute to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave OptimoRoute
Other ways to arrive at Nutshell
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.