CRM migration
Field-level mapping, validation, and rollback between Legrand Cloud CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Legrand Cloud CRM
Source
Freshsales
Destination
Compatibility
4 of 10
objects map 1:1 between Legrand Cloud CRM and Freshsales.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Migrating from Legrand Cloud CRM to Freshsales is a platform-model migration. Legrand Cloud CRM has no publicly documented REST API, which means all source data must be extracted via the built-in Excel export function, one module at a time, in record-dependency order. Freshsales provides a REST API available on the Growth ($15/user/month), Pro ($39/user/month), and Enterprise ($49/user/month) tiers, which we use for all destination writes. The key challenge is sequencing: Accounts export first, then Contacts with parent Account linkage resolved, then Opportunities, then any add-on module data. Attachments export as individual files per record rather than a contiguous archive, so we run a bulk-rename pass using a ContactID filename prefix before ingestion. Internal Service Desk comments do not appear in the standard export and are flagged as a partial transfer. We do not migrate Legrand Workflows or Service Desk automations; Freshsales Workflows and Freshsales CRM's automation layer are separate systems with different logic models, and we deliver a written inventory of every automation for the customer's admin to rebuild.
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 Legrand Cloud CRM 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.
Legrand Cloud CRM
Account
Freshsales
Account
1:1Legrand Account records export via the built-in Excel export with company name, address, type, owner, and standard fields. Freshsales Accounts accept company name, website, phone, address, and owner. The Account record is ingested first in all migrations because Contacts require an AccountId or Account lookup at insert time. We validate record count against the export log after the Account pass and resolve any duplicate domain names as dedupe keys before proceeding.
Legrand Cloud CRM
Contact
Freshsales
Contact
1:1Legrand Contact records export with full name, email, phone, role, and parent Account linkage preserved as a CSV column. We map the parent Account name to Freshsales AccountId via a pre-built lookup table generated during the Account pass. Contact ownership migrates by resolving the Legrand owner email to a Freshsales User email match. Any Contact without a resolvable parent Account is held in a staging queue for manual Account assignment before the Opportunity pass begins.
Legrand Cloud CRM
Lead Inbox
Freshsales
Lead or Contact (split required)
1:manyLegrand's Lead Inbox exports as a separate module sheet with source, status, and owner fields. We apply a split rule based on lead status: leads with a status indicating qualification and a linked Account become Freshsales Contacts attached to the Account; unqualified inbound leads become Freshsales Leads. The customer defines the status threshold during scoping. Any custom lead fields require manual field-to-field mapping against Freshsales' custom field schema.
Legrand Cloud CRM
Opportunity
Freshsales
Deal
1:1Legrand Opportunity/Pipeline records export with stage name, deal value, expected close date, and owner assignment. We map pipeline stage names to Freshsales Deal stages, and preserve stage order as a custom text list if the source stage names are non-standard. The parent AccountId and OwnerId are resolved via the lookup tables built during the Account and User passes before Opportunity insert begins.
Legrand Cloud CRM
Sales Quotes (add-on)
Freshsales
Deal (as line items or notes)
lossyLegrand Sales Quotes (add-on on On-Premise, built-in on Cloud with Professional plan) export with line items, revision history, and conversion status. Freshsales Deals do not have a native quote sub-object on Growth or Pro tiers. We map Quote header fields (quote number, date, total, status) into Freshsales Deal custom fields, and line items into a structured notes block on the Deal. For customers with quoting requirements, we recommend Freshsales Pro's built-in quote capabilities post-migration.
Legrand Cloud CRM
Service Desk Tickets (add-on)
Freshsales
Task (or Case on Pro/Enterprise)
lossyLegrand Service Desk tickets export with board assignment, status, custom fields, and linked Asset references. Internal agent comments are documented as a known gap and do not appear in the standard export; we run a separate comments report pass before cutover and flag it as a supplemental data pass. We map ticket status to Freshsales Task status, or to Case records if the destination is Freshsales Pro or Enterprise with Service Cloud enabled.
Legrand Cloud CRM
Asset Tracking (add-on)
Freshsales
Contact custom fields or Notes
lossyLegrand Asset Tracking records export with serial number, linked customer, service history, and custom fields. Freshsales has no native Asset object on Growth or Pro. We map serial number and service history to Contact-level custom fields, and link related asset records as Notes attached to the parent Contact or Account for audit trail purposes.
Legrand Cloud CRM
Documents
Freshsales
Files (via Freshsales File API)
1:manyLegrand Documents export as individual files per record rather than a contiguous folder structure. We run a bulk-rename pass to prefix each file with the parent record's ID (AccountID or ContactID) so that files can be associated to the correct parent record during Freshsales import. The folder hierarchy is reconstructed from document metadata. Files are ingested via Freshsales' file attachment endpoint linked to the parent object record.
Legrand Cloud CRM
Activities (Emails and Calendar)
Freshsales
Task and Event
1:1Legrand stores email threads and calendar entries via Outlook and Gmail integration, exporting them as individual text files per activity rather than threaded conversations. We separate email body content from attachments, and map email content to Freshsales Task records with a type indicator, and calendar entries to Freshsales Event records with start/end time and location preserved. Email attachments are ingested separately via the Freshsales File API.
Legrand Cloud CRM
Campaign
Freshsales
Target List or Segmentation (Pro/Enterprise)
lossyLegrand Campaign records export with name, type, status, and target member count. Campaign member associations export as a separate sheet. We map campaigns to Freshsales Segmentation (Pro/Enterprise) or to a manually maintained Target List, and map campaign member records to Contact records with a campaign association flag. Campaign-level reporting and UTM data migrate as Campaign custom fields.
| Legrand Cloud CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Account | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Lead Inbox | Lead or Contact (split required)1:many | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Sales Quotes (add-on) | Deal (as line items or notes)lossy | Fully supported | |
| Service Desk Tickets (add-on) | Task (or Case on Pro/Enterprise)lossy | Fully supported | |
| Asset Tracking (add-on) | Contact custom fields or Noteslossy | Fully supported | |
| Documents | Files (via Freshsales File API)1:many | Mapping required | |
| Activities (Emails and Calendar) | Task and Event1:1 | Fully supported | |
| Campaign | Target List or Segmentation (Pro/Enterprise)lossy | 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.
Legrand Cloud CRM gotchas
No public API for Cloud CRM migration automation
Storage and record tier limits gate import scope on Cloud Starter
Attachment and email exports are per-record, not bulk
On-Premise migration and implementation costs are excluded from the per-user license
Service Desk internal comments do not export via standard Excel export
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and Legrand export scoping
We audit Legrand Cloud CRM across the customer's active modules (Accounts, Contacts, Opportunities, Lead Inbox, and any add-on modules: Service Desk, Asset Tracking, Jobs, Sales Quotes). We extract the custom field schema per module and document which fields are standard and which are custom. We confirm the storage tier (Starter limits are 500MB, 1,000 Contacts, 10,000 Records) and flag any object count that exceeds the tier before scheduling. We also inventory the attachment count and flag large attachment directories as a separate workstream requiring the bulk-rename pass. The discovery output is a written migration scope with record counts per module and a custom field mapping draft.
Manual export sequencing from Legrand
Because Legrand Cloud CRM has no public API, we guide the customer's Legrand admin through a module-by-module export sequence in dependency order. Accounts export first, producing a master Account list with IDs for cross-referencing. Contacts export second with the parent Account name column retained for AccountId resolution. Opportunities export third with owner email and stage name preserved. Add-on module exports (Service Desk, Assets, Jobs, Quotes) follow in sequence. We validate each export's record count against the discovery baseline before the next module begins. Attachments are inventoried as a file list with parent record references for the rename pass.
Data transformation and field mapping
We transform each exported CSV against the mapping spec: Legrand Account names map to Freshsales Account records; Legrand Contact parent Account names resolve to Freshsales AccountId via the lookup table; Legrand Opportunity stages map to Freshsales Deal stage names; owner emails match to Freshsales User records. Custom fields receive type-specific transforms (date formats, currency decimal precision, multi-select string splits). We run a dedupe pass on Contacts using email as the unique identifier, flagging duplicates for customer resolution before insert. Attachments receive the ContactID-prefixed bulk rename so file-to-record linkage is preserved.
Freshsales sandbox import and validation
We run a full import into a Freshsales sandbox or trial org using the transformed records. The customer reconciles record counts (Accounts in, Contacts in, Deals in, Leads in), spot-checks 20-30 random records against the Legrand source, and validates that parent Account lookups resolved correctly on Contact records. Any field mapping corrections, custom field creations, or stage name adjustments happen in the sandbox environment before production migration begins. The customer signs off on the sandbox result before we schedule the production window.
Production migration in dependency order
We run production migration in record-dependency order: Accounts first (establishing the lookup table), Contacts second (with AccountId resolved), Leads (with the split rule applied), Deals (with AccountId, OwnerId, and stage resolved), then add-on module records. Each phase emits a row-count reconciliation report. Attachments ingest via Freshsales' file attachment endpoint with the renamed ContactID or AccountID prefix used as the association key. A final delta pass captures any records modified during the migration window. We freeze Legrand write access during cutover to prevent drift.
Cutover, validation, and automation rebuild handoff
We enable Freshsales as the system of record after the final delta pass. We deliver a row-count reconciliation report comparing source Legrand export totals to destination Freshsales record counts per object. We deliver the automation inventory document listing every Legrand automation with Freshsales Workflow equivalents so the customer's admin can rebuild them in Freshsales' automation builder. We support a five-business-day hypercare window to resolve any record-level reconciliation issues raised by the sales team. We do not rebuild Legrand automations as Freshsales Workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Legrand Cloud CRM
Source
Strengths
Weaknesses
Freshsales
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 Legrand Cloud CRM and Freshsales.
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
Legrand Cloud CRM: Not publicly documented.
Data volume sensitivity
Legrand Cloud 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 Legrand Cloud CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Legrand Cloud CRM to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Legrand Cloud CRM
Other ways to arrive at Freshsales
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.