CRM migration

Migrate from Dispatch to Freshsales

Field-level mapping, validation, and rollback between Dispatch and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Dispatch logo

Dispatch

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between Dispatch and Freshsales.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Dispatch stores field-service records — customers requesting work, jobs with addresses and time windows, assigned drivers, and service notes. Freshsales CRM uses a structured sales-object model: Leads and Contacts (person records), Accounts (company records), and Deals (opportunity records with pipeline stages). The migration translates Dispatch's customer records into Freshsales Contacts or Accounts depending on whether they represent businesses or individuals, and converts work orders into Deals with custom fields capturing Dispatch job numbers, service types, and priority levels. Driver assignments that exist in Dispatch as user records map to Freshsales Users via email matching, or preserve as custom fields on the deal for audit continuity. Service notes and timestamps migrate as Freshsales Notes and custom datetime fields. Workflows, route-optimization rules, and driver-dispatch algorithms in Dispatch have no Freshsales equivalent — those must be redesigned in Freshsales Workflows or Freshsales Sequences post-migration. FlitStack reads Dispatch via API using scoped read access, sequences the migration so foreign keys resolve correctly, and runs a delta pickup window (24–48 hours) to capture any records modified during cutover.

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

Dispatch logo

Dispatch

What's pushing teams away

  • Software upgrades and major feature changes have caused disruptions to existing workflows, with some users reporting that new versions alter functions they rely on daily.
  • Customers note that Dispatch costs more than they expected given the feature set, particularly when they need capabilities available only in higher tiers.
  • Some users report that Dispatch lacks the depth to function as a true CRM, making it difficult to capture and manage comprehensive customer relationship data over time.
  • The platform does not integrate natively with some third-party tools that businesses already use, leading teams to maintain duplicate records or manual workarounds.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Dispatch objects map to Freshsales

Each row shows how a Dispatch object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Dispatch

Customer

maps to

Freshsales

Contact

1:1
Fully supported

Dispatch customer records (name, email, phone, address) map directly to Freshsales Contact. Business-type customers with a company name map to Contact with Account lookup instead of a standalone contact.

Dispatch

Customer (business type)

maps to

Freshsales

Account

1:1
Fully supported

When Dispatch customer type is 'Business' or 'Company', the record maps to Freshsales Account. Account.Name pulls from the Dispatch company name field; industry and employee count map as custom fields or use Freshsales standard Industry pick-list.

Dispatch

Work Order

maps to

Freshsales

Deal

1:1
Fully supported

Dispatch work orders become Freshsales Deals. The job number, service type, and priority level migrate as custom fields on the Deal. Deal.Name is generated from the Dispatch job description or job number for traceability.

Dispatch

Work Order Status

maps to

Freshsales

Deal Stage

1:1
Fully supported

Dispatch work-order statuses (Pending, Scheduled, In Progress, Completed, Cancelled) map to Freshsales deal stage values. Each status maps to the corresponding stage name in your Freshsales pipeline; probability values are applied per stage from the Freshsales stage configuration.

Dispatch

Work Order Amount

maps to

Freshsales

Deal Amount

1:1
Fully supported

If Dispatch tracks a service fee or quoted amount on the work order, that value maps directly to Freshsales Deal.Amount. If no amount exists, the field is left blank.

Dispatch

Service Address

maps to

Freshsales

Custom Address Field on Deal

1:1
Fully supported

Dispatch jobs carry a service location address that may differ from the customer primary address. Freshsales Deal object does not have a native service-address field — we create a custom multi-line address field on the Deal and populate it from Dispatch's job address data.

Dispatch

Driver

maps to

Freshsales

Freshsales User

1:1
Fully supported

Dispatch drivers are internal users who complete jobs. If the same people appear as sales reps in Freshsales, FlitStack resolves them by email match to the Freshsales user record. Unmatched drivers preserve as a custom Driver_Assigned__c pick-list on the Deal.

Dispatch

Job Notes

maps to

Freshsales

Note

1:1
Fully supported

Dispatch job notes migrate as Freshsales Note records, linked to the parent Deal or Contact. Original timestamps are preserved as a custom datetime field since Freshsales Note does not track creation date separately from system CreatedDate.

Dispatch

Work Order Timestamps

maps to

Freshsales

Custom Datetime Fields on Deal

1:1
Fully supported

Dispatch captures scheduled date, start time, and completion time per job. Freshsales Deal has a CloseDate field only. We create Scheduled_Date__c, Start_Time__c, and Completed_Time__c custom datetime fields on Deal to preserve the full service timeline.

Dispatch

Service Type

maps to

Freshsales

Custom Field on Deal

1:1
Fully supported

Dispatch job types (repair, installation, inspection, delivery) do not have a Freshsales standard equivalent. A custom pick-list field Service_Type__c is created on Deal, and Dispatch type values are mapped one-to-one into the pick-list options.

Dispatch

Priority

maps to

Freshsales

Custom Field on Deal

1:1
Fully supported

Dispatch priority levels (Low, Medium, High, Urgent) map to a Freshsales custom pick-list Priority__c on the Deal object. Freshsales does not have a native priority concept on deals.

Dispatch

Attachments

maps to

Freshsales

Files

1:1
Mapping required

Dispatch files attached to jobs are downloaded and re-uploaded to Freshsales Files, linked to the corresponding Deal or Contact record. File size limits from Freshsales apply — files over 25MB are flagged for manual handling.

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.

Dispatch logo

Dispatch gotchas

High

API export endpoints gated by Dispatch360 tier

Medium

Work Order history split across open and closed states

Medium

Custom fields require discovery mapping before import

Low

Attachment extraction requires separate file-store access

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Work orders become Deals — not native Freshsales service tickets

    Dispatch work orders are operational job records; Freshsales does not have a native service-ticket object at the CRM level. Work orders migrate as Deals with custom fields for job number, service type, priority, and driver assignment. If your team expects service-ticket tracking (SLAs, ticket numbers, agent queues), Freshsales requires either Freshdesk or a custom objects setup — those do not come from Dispatch automatically. The migration plan surfaces this gap before the run so your team can decide whether to create a Freshsales custom object for jobs or accept Deal-level job tracking.

  • Driver-to-user email matching is required for Deal ownership

    Dispatch drivers are internal users who own work orders. Freshsales separates system Users (who own records) from Contacts (external people). If the same people who dispatch jobs in Dispatch are not in Freshsales as users, their driver assignment cannot become Deal ownership — it falls back to a custom Driver_Assigned__c text field on the Deal. FlitStack runs an owner-resolution step before migration: unmatched drivers are flagged and your team decides whether to invite them to Freshsales first or accept the custom-field fallback.

  • Dispatch workflows and auto-assignment rules have no Freshsales equivalent

    Dispatch rule-based workflow logic (auto-assigning drivers by territory, triggering status updates, sending customer notifications) is built on Dispatch's scheduling engine and does not port to Freshsales Workflows. Freshsales Workflows must be rebuilt: triggers, conditions, and actions are defined fresh in Admin Settings > Workflows. FlitStack exports a Dispatch workflow summary document listing every active rule, its trigger condition, and its action — your Freshsales admin uses that as a rebuild reference.

  • Service address on jobs requires a custom Deal field

    Freshsales Deal object stores address only on the linked Contact or Account, not on the deal itself. Dispatch work orders carry a service address (the job location) that may differ from the customer primary address. Migrating without a custom field loses the job-site address on the deal record. FlitStack creates a custom Service_Address__c multi-line text field on Deal before importing, so every migrated deal retains the job-site location for field-team follow-up.

  • Dispatch attachment re-upload is constrained by Freshsales file limits

    Dispatch files attached to jobs are re-uploaded to Freshsales Files. Freshsales enforces a 25MB per-file limit on uploads via the UI and API. Dispatch attachments exceeding 25MB are flagged during the migration audit and must be handled manually: stored in an external drive or cloud storage, with a link recorded in the Freshsales deal note.

Migration approach

Six steps for a successful Dispatch to Freshsales data migration

  1. Audit Dispatch data and design Freshsales schema

    FlitStack connects to Dispatch via scoped read access and exports the full record inventory: customer count, work order volume, active driver count, attachment count, and custom fields in use. We then deliver a Freshsales schema design document specifying which custom fields to create (Job_Number__c, Service_Type__c, Priority__c, Scheduled_Date__c, Driver_Assigned__c, Service_Address__c), which pipeline and deal stages to configure, and whether your Freshsales plan supports the field types required.

  2. Resolve Dispatch drivers to Freshsales users by email

    FlitStack extracts the driver email list from Dispatch and compares it against Freshsales user emails. Matched drivers become Deal owners in Freshsales. Unmatched drivers are reported with the driver name, Dispatch ID, and last assignment date — your team either creates Freshsales users for them before migration or accepts the Driver_Assigned__c custom-field fallback.

  3. Migrate accounts and contacts first, then work orders as deals

    Freshsales requires Accounts before Contacts (for AccountId lookups) and Contacts before Deals (for ContactId on opportunity contact roles). FlitStack sequences the migration: Account records from Dispatch customers (business type), then Contact records from Dispatch customers (individual type), then Deals from Dispatch work orders with ContactId and custom fields populated. This ordering ensures foreign keys resolve on the first pass.

  4. Run a sample migration with field-level diff

    A representative slice of 100–300 records migrates first — spanning contacts, accounts, deals, and attached notes. FlitStack generates a field-level diff report comparing source Dispatch values against the Freshsales destination fields. You verify that service types, priority levels, job numbers, scheduled dates, and driver assignments landed correctly before the full run commits.

  5. Cut over with delta-pickup window for in-flight records

    The full migration loads all Dispatch records into Freshsales. A 24–48 hour delta-pickup window runs concurrently, capturing any work orders modified or created in Dispatch during the cutover period. Audit log records every operation. If reconciliation finds missing or mismatched records, one-click rollback reverts the Freshsales state to the pre-migration snapshot so the run can be corrected and repeated.

Platform deep dives

Context on both ends of the pair

Dispatch logo

Dispatch

Source

Strengths

  • Visual drag-and-drop dispatch board for real-time job scheduling and technician assignment.
  • Automated customer notifications for appointment confirmations, reminders, and technician ETA updates.
  • Integrated asset and equipment tracking linked directly to work orders for field visibility.
  • Real-time technician status updates and GPS-based routing for service dispatch.
  • Tiered pricing from Starter to Enterprise accommodates growing field service businesses.

Weaknesses

  • API access and bulk data export capabilities are tier-gated, making large-scale migrations dependent on the customer's plan level.
  • Customers report that software upgrades occasionally disrupt established workflows and require relearning.
  • Cost increases at higher tiers for advanced features make the platform less competitive for small businesses on a budget.
  • Limited native CRM depth — Dispatch does not function well as a standalone customer relationship management tool.
  • Attachment storage and management on jobs has size and format restrictions that can complicate data export.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Dispatch and Freshsales.

  • Object compatibility

    B

    2 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

    Dispatch: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Dispatch to Freshsales 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 Dispatch to Freshsales data migrations

Answers to the questions buyers ask most during Dispatch to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Dispatch to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Dispatch-to-Freshsales migrations complete in 24–72 hours of clock time for under 25,000 work-order records. Large setups with multi-year job histories or complex customer-account hierarchies extend to 5–10 days. The longest step is the Freshsales schema setup — creating custom fields for job number, service type, priority, and driver assignment before data validation runs. Once the schema is confirmed, the actual data load typically completes within a single business day.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dispatch.
Land in Freshsales, 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