CRM migration
Field-level mapping, validation, and rollback between Bright and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Bright
Source
Freshsales
Destination
Compatibility
9 of 10
objects map 1:1 between Bright and Freshsales.
Complexity
BStandard
Timeline
24–48 hours
Overview
Bright CRM stores contacts, companies, deals, and activities in a flat object model with per-seat or usage-based licensing. Freshsales structures the same data across Leads, Contacts, Accounts, and Opportunities — each with its own field set and lifecycle stage. The migration carries every standard object from Bright into Freshsales, maps pick-list values for pipeline stages and statuses, resolves owner email addresses against Freshsales user accounts, and re-uploads file attachments. Custom fields created in Bright become custom fields in Freshsales (on Pro and Enterprise plans, which support advanced custom fields). Workflows, sequences, and automation rules in Bright do not carry over — FlitStack AI exports the workflow definitions as JSON so your Freshsales admin can rebuild them in Freshsales's workflow builder. The migration runs via authenticated API reads from Bright and bulk API inserts into Freshsales, with a 24–48 hour delta-pickup window capturing in-flight changes during cutover. All operations are logged and reversible via the FlitStack audit log.
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 Bright 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.
Bright
Contact
Freshsales
Contact
1:1Bright contact records map 1:1 to Freshsales Contacts. Freshsales Contacts require a First Name, Last Name, and Email; Bright contacts without a last name are flagged for manual review before migration. Work phone and mobile phone merge into Freshsales's Phone and Mobile Phone fields respectively.
Bright
Contact (type = lead)
Freshsales
Lead
1:manyBright stores all person records as contacts with a type field. Records flagged as 'lead' in Bright map to Freshsales Leads; records flagged as 'customer' or 'company contact' map to Freshsales Contacts. The split is determined by the Bright contact type property before migration begins.
Bright
Company
Freshsales
Account
1:1Bright company records map to Freshsales Accounts. Freshsales Accounts use Name, Website, Industry, and Employee Count fields. Bright's parent-company hierarchy, if present, maps to Freshsales's Parent Account lookup field, requiring parent accounts to migrate before child accounts to resolve the foreign key.
Bright
Deal
Freshsales
Deal
1:1Bright deal records map to Freshsales Deals. Freshsales Deal objects carry Name, Amount, Stage, Close Date, Owner, and associated Account. Pipeline and stage values from Bright are mapped to Freshsales pipeline-stage pick-list values per the mapping plan delivered before migration runs.
Bright
Pipeline
Freshsales
Pipeline
1:1Bright deal pipelines map to Freshsales Pipelines. Each Freshsales pipeline is created in Admin Settings with its own Kanban view and stage set. If Bright has multiple pipelines, FlitStack AI creates matching Freshsales pipelines and maps each stage name to the corresponding Freshsales stage value value-by-value.
Bright
Activity (call, email, meeting, task)
Freshsales
Sales Activity
1:1Bright engagement activities (calls, emails, meetings, tasks) map to Freshsales Sales Activities. Each activity type maps to its Freshsales Activity type: calls become 'Calls', emails become 'Emails', meetings become 'Meetings', and notes become 'Tasks'. Owner, timestamp, and linked record (contact, account, or deal) are preserved.
Bright
Custom Property (standard object)
Freshsales
Custom Field
1:1Bright custom properties on Contacts, Companies, and Deals map to Freshsales custom fields. Basic custom fields are available on all Freshsales plans; advanced custom fields (multi-select pick-lists, lookup relationships) require the Pro or Enterprise plan. FlitStack AI creates custom fields in Freshsales before the migration run and maps each Bright property to the new field.
Bright
Attachment / File
Freshsales
File Attachment
1:1Bright file attachments linked to contacts, companies, or deals are downloaded and re-uploaded to Freshsales's file storage. Freshsales Growth includes 2GB/user file storage; Pro includes 5GB/user; Enterprise includes 100GB/user. FlitStack AI verifies available storage quota before committing attachments to avoid partial uploads.
Bright
User / Owner
Freshsales
User
1:1Bright owner IDs are resolved by email match against Freshsales user accounts. Unmatched owners are flagged before migration; teams either invite the user to Freshsales first or assign records to a fallback owner. This prevents records from landing without an assigned owner in Freshsales.
Bright
Tag / Label
Freshsales
Tag
1:1Bright tags applied to contacts, companies, or deals migrate as Freshsales Tags. Tags are a flat key-value label system in both platforms, so the mapping is direct. Freshsales tags appear in list views and filtering, enabling segmentation continuity after cutover.
| Bright | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Contact (type = lead) | Lead1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Pipeline | Pipeline1:1 | Fully supported | |
| Activity (call, email, meeting, task) | Sales Activity1:1 | Fully supported | |
| Custom Property (standard object) | Custom Field1:1 | Fully supported | |
| Attachment / File | File Attachment1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Tag / Label | Tag1: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.
Bright gotchas
CIS deduction rates are employee-specific and must transfer as discrete fields
No bulk document export API forces manual file downloads
Leave entitlement balances require separate export alongside the request history
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
Extract Bright data via authenticated API and audit the export
FlitStack AI connects to Bright using API credentials with read-only scope, pulling all contacts, companies, deals, activities, and custom property definitions. We also export workflow definitions as JSON and list all active user accounts for owner-resolution preparation. Before any mapping begins, the FlitStack team generates a data audit report covering record counts per object, blank field rates, duplicate email addresses, and orphaned records with no linked company or owner. This report identifies migration risk areas — such as contacts missing email addresses or deals with no linked account — before field mapping is finalized.
Build the Freshsales field mapping plan and create custom fields
FlitStack AI maps Bright objects to Freshsales objects (Contact → Contact, Company → Account, Deal → Deal) and Bright field names to Freshsales field API names. Custom fields that do not have a Freshsales standard equivalent are flagged for custom field creation. On Pro and Enterprise plans, FlitStack creates multi-select pick-list and advanced custom fields in Freshsales Admin Settings before the migration run. On Growth plans, only basic custom field types are created. The mapping plan is delivered as a field-level diff document for the customer's Freshsales admin to review and approve.
Resolve Bright owners to Freshsales user accounts by email
Bright owner IDs are matched against Freshsales user accounts using the email address as the join key. FlitStack AI generates a pre-migration owner-resolution report listing all matched pairs and all Bright owners with no corresponding Freshworks user account. Unmatched owners are assigned to a designated fallback Freshsales user (such as a RevOps admin) or the customer decides to invite those users to Freshsales before migration day. No record migrates without a resolved Freshsales owner, preventing the common issue of records landing in unassigned queues after cutover.
Run a sample migration with field-level verification
A representative slice of Bright records — typically 100–300 records spanning contacts, accounts, deals, and activities — migrates to Freshsales first. FlitStack AI generates a field-level diff comparing source values against destination values, verifying that pick-list mappings, date formats, owner assignments, and linked-record lookups resolved correctly. The customer reviews the sample in Freshsales and approves field mapping before the full run commits. Any value-mapping gaps or lookup failures are corrected in the mapping plan before the production migration begins.
Execute full migration and capture delta changes during cutover window
The full Bright dataset migrates to Freshsales via the Bulk API, respecting Freshsales rate limits per plan tier. A delta-pickup window of 24–48 hours runs concurrently, capturing any records modified or created in Bright during the cutover period. FlitStack's audit log records every insert, update, and skip operation with timestamps, error codes, and retry counts. If reconciliation identifies discrepancies — such as records that failed to insert due to duplicate email constraints — the FlitStack team resolves them and re-runs affected batches. One-click rollback reverts the Freshsales environment to its pre-migration state if the customer requires a full restart.
Platform deep dives
Bright
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 Bright 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
Bright: Not publicly documented.
Data volume sensitivity
Bright 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 Bright to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Bright 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 Bright
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.