CRM migration
Field-level mapping, validation, and rollback between ResMan and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
ResMan
Source
Freshsales
Destination
Compatibility
11 of 11
objects map 1:1 between ResMan and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
FlitStack AI migrates data from ResMan to Freshsales, navigating the fundamental difference between a property management platform and a sales CRM. ResMan organizes data around Properties, Units, Tenants, Leases, Payments, and Maintenance Tickets — a schema built for multifamily operators and affordable housing compliance. Freshsales structures information around Leads, Contacts, Accounts, Deals, and Activities — a schema built for sales pipeline management and lead lifecycle tracking. We map each ResMan entity to its closest Freshsales equivalent: Properties → Accounts (with location and unit-count data), Tenants → Contacts (linked to the Account representing their property), Leases → a custom Lease object in Freshsales (since Deals track sales opportunities, not rental agreements), Payments → Activities on the Contact, and Maintenance Tickets → Cases. Property-specific concepts like Unit numbers, Section 8 subsidy details, and lease rider terms have no native Freshsales equivalent — we surface these as custom fields on the corresponding objects. Workflows, screening integrations, payment processor connections, and utility billing setups do not migrate. These must be rebuilt in Freshsales using Freshsales Workflows, the Freshworks Marketplace, or Freshsales's REST API. We export all migratable data via the ResMan Partner API, validate field-level mapping against Freshsales's schema before committing records, and run a delta-pickup window post-cutover to capture in-flight changes.
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 ResMan 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.
ResMan
Property
Freshsales
Account
1:1ResMan properties map to Freshsales Accounts. The property name becomes Account Name, address fields map to Billing Street/City/State/PostalCode, and the total-unit count is stored as a custom Number field on the Account. Each property's owner resolves to the Freshsales Account Owner.
ResMan
Unit
Freshsales
Custom Field on Account + Custom Module
1:1Units within a property have no 1:1 Freshsales object. We store unit number, unit type (e.g., 1BR, 2BR), and current occupancy status as custom fields on the Account. For high-volume portfolios with complex unit hierarchies, we create a Unit custom module in Freshsales linked to the parent Account via a lookup relationship.
ResMan
Tenant (Prospect)
Freshsales
Lead
1:1Prospective tenants who have not yet signed a lease route to Freshsales Leads. ResMan's prospect name, email, phone, and source channel map directly to Freshsales Lead fields. The source property is recorded in a custom Lead field for follow-up routing.
ResMan
Tenant (Active)
Freshsales
Contact
1:1Active tenants map to Freshsales Contacts. The tenant's name, email, and phone map directly. The AccountId is set to the Freshsales Account representing the property where the tenant holds the active lease. We preserve the ResMan tenant ID as a custom Source_System_ID__c field for traceability.
ResMan
Lease
Freshsales
Custom Lease Object
1:1Lease agreements have no native Freshsales equivalent — Deals track sales opportunities, not rental contracts. We create a custom Lease object in Freshsales with fields for lease ID, start date, end date, monthly rent, security deposit, and lease status. Each Lease record is linked to the Contact (tenant) and the Account (property) via lookup fields.
ResMan
Lease Rider / Addendum
Freshsales
Custom Field on Lease Object
1:1Lease riders such as Section 8 subsidy details, pet addenda, and parking agreements are stored as custom text or pick-list fields on the Lease object. We map the subsidy type and voucher amount to dedicated custom fields, preserving compliance-relevant data for affordable housing operators.
ResMan
Payment Record
Freshsales
Task / Activity on Contact
1:1Rent payments and charges map to Freshsales Activities logged on the Contact. Each payment generates an Activity with Type = Payment, Subject = Rent Payment [Month Year], and the amount recorded in a custom Currency field. Payment method and status are preserved as custom fields on the Activity for reconciliation.
ResMan
Maintenance Ticket
Freshsales
Case
1:1Maintenance work orders map to Freshsales Cases. The ticket subject becomes the Case Subject, priority maps from ResMan urgency level to Freshsales Case Priority, and the assigned technician resolves to the Case Owner via email match. Property and Unit are stored as custom lookup fields on the Case so maintenance history is visible per unit.
ResMan
Owner / Property Manager
Freshsales
User
1:1ResMan owner and property manager records resolve to Freshsales Users by email address. Unmatched owners are flagged before migration — teams either invite them to Freshsales first or assign their records to a fallback user. No record lands in Freshsales without an assigned owner.
ResMan
Document (Lease Agreement)
Freshsales
Attachment / Freshsales Files
1:1Lease agreements, addenda, and compliance documents attached to ResMan records are downloaded and re-uploaded to Freshsales Files, linked to the corresponding Contact or custom Lease object. File size limits per Freshsales plan apply — large document batches may require bulk upload tooling.
ResMan
Utility Setup (Water, Electric, Gas)
Freshsales
Custom Field on Account
1:1ResMan's utility management features have no Freshsales equivalent. Utility provider names, account numbers, and billing arrangements are stored as custom fields on the Account for reference. Teams managing utility billing separately should continue using ResMan's utility module or a dedicated utility management tool post-migration.
| ResMan | Freshsales | Compatibility | |
|---|---|---|---|
| Property | Account1:1 | Fully supported | |
| Unit | Custom Field on Account + Custom Module1:1 | Fully supported | |
| Tenant (Prospect) | Lead1:1 | Fully supported | |
| Tenant (Active) | Contact1:1 | Fully supported | |
| Lease | Custom Lease Object1:1 | Fully supported | |
| Lease Rider / Addendum | Custom Field on Lease Object1:1 | Fully supported | |
| Payment Record | Task / Activity on Contact1:1 | Fully supported | |
| Maintenance Ticket | Case1:1 | Fully supported | |
| Owner / Property Manager | User1:1 | Fully supported | |
| Document (Lease Agreement) | Attachment / Freshsales Files1:1 | Fully supported | |
| Utility Setup (Water, Electric, Gas) | Custom Field on Account1: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.
ResMan gotchas
Utility billing charges are calculated at move-out in real time
Section 8 subsidy data requires compliance-specific field mapping
Bulk text templates are not auto-saved from organic conversations
Custom report definitions are proprietary and not portable
Integration ecosystem creates data in third-party systems
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
Audit ResMan data structure and plan Freshsales schema
We connect to the ResMan Partner API to enumerate all properties, units, tenants, leases, payments, maintenance tickets, and documents in scope. We audit custom field usage per entity, identify any non-standard data (Section 8 subsidy fields, utility account numbers), and document the relationship graph between entities. Simultaneously, we assess the target Freshsales plan for custom field capacity and create the custom Lease object, custom fields on Account and Contact, and any Unit custom module before data mapping begins. We deliver a schema setup checklist so your Freshsales admin can pre-create the required objects.
Connect to ResMan Partner API and export all entities
We authenticate to the ResMan Partner API using OAuth credentials provided by your ResMan account. We export properties, units, tenants, leases, payment history, maintenance tickets, and document metadata in structured JSON. For each entity we capture the original created date, last modified date, and owner assignment. We flag any ResMan records with missing required fields (e.g., tenant email addresses) before the migration run so your team can supply or approximate values rather than discovering gaps mid-migration.
Build field-level mapping and create custom objects in Freshsales
We apply the field mapping defined in the migration plan: properties to Accounts, tenants to Contacts (linked to Accounts), leases to the custom Lease object, payments to Activities, and maintenance tickets to Cases. We create the custom fields required for Section 8 data, utility references, and lease rider details. For each lookup relationship (Contact → Account, Lease → Contact, Lease → Account, Case → Account) we validate referential integrity — the parent record must exist in Freshsales before the child record is written. We sequence entity creation so Accounts are created first, followed by Contacts, then Lease and Case records.
Run test migration with field-level diff
A representative slice migrates first — typically 20–50 properties with their associated tenants, leases, and a sample of payment and maintenance records. We generate a field-level diff report comparing source values in ResMan against the destination values in Freshsales. You verify that lease start dates, Section 8 voucher amounts, maintenance priority assignments, and contact-to-account links are correct. We refine the mapping based on the diff before committing the full migration. Any Freshsales plan upgrades required by custom field count are identified at this stage.
Execute full migration with delta-pickup window
The full dataset migrates to Freshsales under rate-limit-aware batching. All entities are written with their original timestamps preserved as custom fields (since Freshsales sets Created Date at migration time). A 24–48 hour delta-pickup window captures any ResMan records modified or created during the cutover — typically new maintenance tickets or updated lease statuses. We validate record counts by entity type and run a reconciliation report comparing ResMan totals against Freshsales totals. An audit log records every operation, and one-click rollback is available if the reconciliation identifies unexpected discrepancies.
Deliver rebuild reference for automations and integrations
We document every ResMan workflow, screening integration, payment processor connection, and utility management setup that could not migrate. For each item we provide a rebuild reference: the trigger conditions, actions, and field logic from the ResMan configuration, formatted as a setup guide for Freshsales Workflows or a Freshworks Marketplace app recommendation. We also provide the ResMan integration audit checklist so your team can reconnect third-party tools with the correct Freshsales API credentials. Post-migration, your team configures Freshsales Workflows, invite property managers as Freshsales users, and reconnect third-party integrations independently or with support from the Freshworks Marketplace.
Platform deep dives
ResMan
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 ResMan 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
ResMan: Not publicly documented; partner tier restrictions apply.
Data volume sensitivity
ResMan exposes a bulk API — large-volume migrations stream efficiently.
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 ResMan to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your ResMan 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 ResMan
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.