CRM migration
Field-level mapping, validation, and rollback between Metis CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Metis CRM
Source
Freshsales
Destination
Compatibility
8 of 8
objects map 1:1 between Metis CRM and Freshsales.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Metis CRM organizes its data around a client-centric model where opportunities track the sales pipeline and jobs represent active projects, while Freshsales uses the Lead-Contact-Account-Deal model standard in modern CRM platforms. We extract data from Metis through its per-zone CSV exports (Clients, Opportunities, Jobs, People, Timesheets, Expenses) because Metis has no documented public REST API, then map each zone to its Freshsales equivalent. The Lead-Contact-Account split in Freshsales requires a design decision during scoping: we use contact email as the dedupe key and apply a conversion mapping that the customer defines. Timesheet entries without a linked Job are flagged as orphan records for manual assignment. Receipt images and expense attachments transfer as a separate file operation. We do not migrate Metis automations, resourcing reports, or workflow logic; we deliver a written inventory of these for the customer to rebuild in Freshsales.
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 Metis 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.
Metis CRM
Clients
Freshsales
Account
1:1Metis Clients map to Freshsales Account. The client name becomes Account Name, contact email becomes the primary contact email, and address fields map to the standard Account address fields. Account is created before any Contact import so that the Account-Contact relationship is satisfied at the moment of Contact insert. Metis does not gate Client exports by tier, so all clients extract regardless of the source plan.
Metis CRM
Opportunities
Freshsales
Deal
1:1Metis Opportunities map to Freshsales Deal. The opportunity stage maps to Freshsales Deal stage, the estimated value maps to Deal Amount, and the pipeline association maps to a Freshsales pipeline that we configure before migration. Closed-Lost and Closed-Won status from Metis map to Freshsales Deal status with the original stage preserved for reporting continuity.
Metis CRM
Jobs
Freshsales
Deal with custom fields
1:1Metis Jobs represent project records and map to Freshsales Deal with a set of custom fields capturing the job-specific data: job status, start and end dates, client association (AccountId lookup), and any job costing fields. We create the custom fields in Freshsales during schema setup, then populate them during the Deal import. Jobs that are billable but not yet opportunity-qualified are imported as Deals with a custom field job_type__c = 'project' to distinguish from standard sales pipeline entries.
Metis CRM
People
Freshsales
Contact (and Lead if unqualified)
1:1Metis People records map to Freshsales Contact. Each Person's role, contact details, and associated client link to the corresponding Account. If the customer uses Metis for unqualified prospect tracking alongside Clients, we apply a Lead-Contact split rule during scoping: people records without an Opportunity or Job association are imported as Freshsales Leads; those with an Opportunity or Job are imported as Contacts under the related Account. The customer defines the split rule before migration begins.
Metis CRM
Timesheets
Freshsales
Task
1:1Metis Timesheets map to Freshsales Task records representing logged time. Each Task records the date, duration (hours or minutes mapped to Task.ActivityDate and a custom duration field), billable flag, and Job association if present. We flag time entries without a linked Job as orphan entries in the pre-migration audit and present the customer with a mapping choice: assign to a default project Task, skip, or create placeholder Jobs for them before migration resumes.
Metis CRM
People Expenses
Freshsales
Note or Case with attachments
1:1Metis People Expenses map to Freshsales Notes or Cases depending on whether the customer wants expense tracking as a support-style log or as linked notes on the Account. Receipt images are exported separately from the expense CSV and transferred as a parallel file operation. Each expense record in the migration log is flagged with an image-reattachment note directing the customer to reattach the receipt file in Freshsales after migration. Expense category maps to a custom picklist field.
Metis CRM
Central Expenses
Freshsales
Note or Case
1:1Metis Central Expenses (agency-level overhead costs) export separately from People Expenses and map to the same destination objects as People Expenses. We treat Central Expenses as Notes or Cases on the Account level rather than tied to a specific Contact. Receipt images for Central Expenses follow the same parallel file transfer and reattachment workflow as People Expenses.
Metis CRM
Owner
Freshsales
User
1:1Metis Owners referenced on Clients, Opportunities, Jobs, and People are resolved by email match against Freshsales User records. We extract every distinct Owner email and attempt to match it to an existing Freshsales User. Any Owner without a matching User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Active Users receive their assigned records; inactive or missing Users receive a placeholder assignment that the admin updates post-migration.
| Metis CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Clients | Account1:1 | Fully supported | |
| Opportunities | Deal1:1 | Fully supported | |
| Jobs | Deal with custom fields1:1 | Fully supported | |
| People | Contact (and Lead if unqualified)1:1 | Fully supported | |
| Timesheets | Task1:1 | Mapping required | |
| People Expenses | Note or Case with attachments1:1 | Mapping required | |
| Central Expenses | Note or Case1:1 | Mapping required | |
| Owner | User1: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.
Metis CRM gotchas
No public API forces CSV-only migration paths
Receipt images exported as separate files outside the main CSV
Orphan time entries without a linked Job
Xero-friendly export is a destination format, not a source object
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
Zone export scoping and freeze coordination
We identify every Metis zone that contains migratable data: Clients, Opportunities, Jobs, People, Timesheets, People Expenses, Central Expenses. We review the zone export formats available in the customer's Metis account and coordinate a data freeze window of at least 48 hours before the final export to ensure a clean snapshot. We also enumerate the receipt image files associated with expenses so that the parallel file transfer can be scoped accurately.
Freshsales schema setup and Lead-Contact split design
We design the destination schema in Freshsales before any data import. This includes provisioning custom fields on Deal for job-related data, custom fields on Task for time entry duration and billable flags, custom picklists for expense categories, and any required custom fields for receipt image references. We also design the Lead-Contact split rule: the customer defines which Metis People records should enter as Freshsales Leads versus Contacts, and we apply that rule during the People zone transform. The schema is validated in the customer's Freshsales environment before production migration begins.
CSV extraction and data cleansing
We extract each Metis zone as a CSV file and run a data quality pass: deduplication against contact email, date format normalization, required field population for Freshsales (Deal requires an AccountId, which means Accounts must import before Deals), and flagging of orphan timesheet entries and missing receipt images. We produce a pre-migration audit report listing record counts per zone, orphan records requiring resolution, and attachment files requiring retransfer.
Parallel receipt file transfer
We run a parallel file transfer session for all receipt images associated with People Expenses and Central Expenses. Each file is named with a reference matching the corresponding expense record in the migration log. Receipt files are transferred to a designated location in Freshsales or to a shared file repository that the customer can use for post-migration reattachment. The transfer log is cross-referenced against the expense CSV to confirm every expected file was transferred.
Production import in dependency order
We run production migration in record-dependency order: Accounts (from Metis Clients), Contacts and Leads (with the Lead-Contact split applied and AccountId resolved), Deals (from Metis Opportunities and Jobs with custom fields populated), Tasks (from Timesheets with orphan entries held pending customer resolution), Notes or Cases (from People Expenses and Central Expenses with receipt reference flags), and Users (Owner email matched and reconciled). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Metis writes during cutover and run a final delta migration of any records modified during the migration window. We deliver a migration summary showing record counts by object, orphan resolution status, and receipt reattachment checklist. We do not migrate Metis automations or workflow configurations; we deliver a written inventory of every identified automation with a recommendation for rebuilding in Freshsales Workflow rules. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team.
Platform deep dives
Metis 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 Metis 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
Metis CRM: Not publicly documented.
Data volume sensitivity
Metis 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 Metis CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Metis 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 Metis 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.