CRM migration
Field-level mapping, validation, and rollback between Propertybase and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Propertybase
Source
Freshsales
Destination
Compatibility
12 of 13
objects map 1:1 between Propertybase and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
Propertybase is a real estate CRM built on the Salesforce platform, which means it inherits Salesforce's Account-Contact model but adds real estate-specific objects: Listings (standalone properties or part of a Master Project hierarchy), Offers/Contracts, and a distinction between Company Contacts and Individual Contacts. Individual Contacts in Propertybase use a ghost Account record — a system-generated placeholder that satisfies Salesforce's requirement that every Contact have an AccountId. When migrating to Freshsales, which is a standalone CRM with its own Account-Contact-Lead-Deal structure, these ghost accounts must be stripped and Individual Contacts resolved without phantom links. We map Propertybase Companies to Freshsales Accounts, Propertybase Company Contacts to Freshsales Contacts with AccountId lookups, and Propertybase Individual Contacts to Freshsales Contacts (resolving the ghost Account). Propertybase Listings migrate as a Freshsales custom module (Listing__c) with fields like address, price, bedrooms, bathrooms, property type, status, and MLS number. Listings linked to a Master Project hierarchy require three custom modules (Master_Project__c, Building__c, Stage__c) with lookup fields preserving the parent-child relationship. Propertybase Offers/Contracts map to Freshsales Deals with stage, amount, and close date; the Listing lookup is preserved as a custom Source_Listing__c field on the Deal. Workflows, Process Builder flows, and validation rules built on the Salesforce platform do not migrate — we export their definitions as a rebuild reference for your Freshsales admin. Migration uses scoped read access on Propertybase with a 24–48 hour delta-pickup window during cutover.
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 Propertybase 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.
Propertybase
Company
Freshsales
Account
1:1Propertybase Company maps directly to Freshsales Account. Company name becomes Account Name. Parent/child company hierarchy maps via Freshsales Parent Account field if enabled. Ghost accounts created solely for Individual Contacts are excluded from this mapping — only real Propertybase Companies become Freshsales Accounts.
Propertybase
Company Contact
Freshsales
Contact
1:1Propertybase Company Contact (SystemIsIndividual=FALSE) maps to Freshsales Contact with AccountId set to the corresponding Freshsales Account derived from the Propertybase Company. All standard contact fields (name, email, phone, title, address) transfer directly. Owner resolved by email match to Freshsales users. Unmatched owners flagged before insertion.
Propertybase
Individual Contact
Freshsales
Contact
1:1Propertybase Individual Contact (SystemIsIndividual=TRUE) uses a ghost Account in Salesforce — a system placeholder with no real business data. During migration, we identify the real company affiliation from source data or flag for manual assignment. Individual Contacts land in Freshsales as Contacts without a mandatory AccountId link, preserving all original fields and timestamps.
Propertybase
Enquiry / Request
Freshsales
Lead or Deal
1:manyPropertybase Enquiries/Requests split by status: new or open enquiries route to Freshsales Lead; qualified or converted enquiries route to Freshsales Deal. The split logic follows your specified rule — typically based on the Enquiry status field or a Stage pick-list if configured. Each Enquiry is assigned to the corresponding contact and account after ghost-account resolution.
Propertybase
Listing (Individual)
Freshsales
Listing__c (Custom Module)
1:1Propertybase Individual Listings (standalone properties not linked to a Master Project) migrate as a Freshsales custom module named Listing__c. Fields including address, price, bedrooms, bathrooms, property type, status, and MLS number map to custom fields on the Listing__c module. The module is created by your Freshsales admin (or our team) before migration using the schema plan we deliver.
Propertybase
Listing (Project)
Freshsales
Master_Project__c / Building__c / Stage__c (Custom Modules)
1:1Propertybase Listings linked to a Master Project/Building/Stage require three Freshsales custom modules: Master_Project__c, Building__c, and Stage__c, with lookup fields linking Stage to Building and Building to Master_Project. Each listing record receives a lookup to its parent Stage. This preserves the full three-level hierarchy — no flattening of the listing structure.
Propertybase
Offer / Contract
Freshsales
Deal
1:1Propertybase Offers/Contracts map directly to Freshsales Deals. Offer amount becomes Deal amount, close date maps to Close Date, and offer stage (Active, Won, Lost, Withdrawn) maps to Freshsales Deal stage values via value mapping. The Propertybase Listing lookup is preserved as a custom Source_Listing__c lookup field on the Freshsales Deal — this field must be created in Freshsales before migration runs.
Propertybase
Contact Owner
Freshsales
User
1:1Propertybase owner IDs resolve by email match against Freshsales users. Unmatched owners are flagged before migration — your team either provisions Freshsales user accounts or assigns records to a fallback owner specified in the migration plan. No record lands in Freshsales without an owner assignment confirmed.
Propertybase
Attachment / File
Freshsales
File
1:1Propertybase file attachments on contacts, companies, listings, and offers are downloaded and re-uploaded to Freshsales Files. Freshsales file size limits apply (default 25MB per file). Inline images in notes are extracted and rehosted. Original file names and attachment dates are preserved as metadata on each Freshsales File record.
Propertybase
Activity (Call, Email, Meeting)
Freshsales
Task / Appointment
1:1Propertybase logged calls and emails map to Freshsales Tasks with Type field set to Call or Email. Meetings map to Freshsales Appointments with original start time, end time, and related contact preserved. Original timestamps and activity owners transfer as custom fields if Freshsales does not expose them natively on the Task or Appointment object.
Propertybase
Note
Freshsales
Note
1:1Propertybase notes map to Freshsales Notes attached to the corresponding record. Rich-text formatting is preserved where the target field supports it. If Propertybase notes contain inline images, these are downloaded and re-uploaded as Freshsales file attachments linked to the same parent record.
Propertybase
Workflow Rule / Process Builder
Freshsales
Workflow
1:1Propertybase workflows built in Salesforce Workflow Rules or Process Builder do not migrate to Freshsales. We export the workflow definitions (trigger object, criteria, actions, time-based triggers) as a structured reference document. Your Freshsales admin rebuilds them in Freshsales's workflow builder using this reference. Budget 1–3 days per complex Process Builder flow for the rebuild effort.
Propertybase
Validation Rule
Freshsales
Validation Rule
1:1Propertybase validation rules enforced at the Salesforce level cannot transfer to Freshsales. We provide a list of active validation rules with their conditions and error messages for your Freshsales admin to recreate in Freshsales Field Settings. Required field validation and pick-list dependency rules are the most common rebuild targets.
| Propertybase | Freshsales | Compatibility | |
|---|---|---|---|
| Company | Account1:1 | Fully supported | |
| Company Contact | Contact1:1 | Fully supported | |
| Individual Contact | Contact1:1 | Fully supported | |
| Enquiry / Request | Lead or Deal1:many | Fully supported | |
| Listing (Individual) | Listing__c (Custom Module)1:1 | Fully supported | |
| Listing (Project) | Master_Project__c / Building__c / Stage__c (Custom Modules)1:1 | Fully supported | |
| Offer / Contract | Deal1:1 | Fully supported | |
| Contact Owner | User1:1 | Fully supported | |
| Attachment / File | File1:1 | Fully supported | |
| Activity (Call, Email, Meeting) | Task / Appointment1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Workflow Rule / Process Builder | Workflow1:1 | Fully supported | |
| Validation Rule | Validation Rule1: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.
Propertybase gotchas
Formula and roll-up summary fields excluded from exports
Ghost company records for Individual Contacts
Workflow rules do not export — automations must be rebuilt
Media Loader assets require separate migration path
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
Pre-migration schema setup in Freshsales
Before any data moves, your Freshsales admin (or our team) creates the custom modules required: Listing__c for standalone listings, and Master_Project__c / Building__c / Stage__c for hierarchical listings. We deliver a schema setup plan based on your Propertybase configuration — listing count, whether Master Projects are in use, and which custom fields exist on listings and offers. The custom Source_Listing__c lookup field on the Deal object is also created at this stage so the Listing → Offer relationship is ready before migration begins.
Ghost Account resolution and Individual Contact audit
We query all Propertybase Individual Contacts and their ghost Account associations. For each Individual Contact, we identify whether they have a real company affiliation in source data, whether that company exists as a Propertybase Company record, and how to resolve it to a Freshsales Account or an unlinked Contact. Unresolved Individual Contacts are flagged for your team to decide: assign to a default Account or keep unlinked. This step runs against a read-only Propertybase API connection before any inserts occur, so it does not affect your live Propertybase instance.
Sequence migration: accounts before contacts, listings before offers
Freshsales requires Account records before Contacts (via AccountId lookup), and Listing custom module records before Deals that reference them (via Source_Listing__c). We sequence the migration: Companies → Accounts, then Individual Contacts and Company Contacts with ghost-account resolution applied, then Listings and Master Project hierarchy, then Offers → Deals with Source_Listing__c populated. Owner IDs are resolved by email match against Freshsales users at each step — unmatched owners are flagged before their records are inserted to avoid orphaned records.
Run sample migration with field-level diff
A representative slice migrates first — typically 100–500 records spanning Individual Contacts, Company Contacts, Listings, and Offers. We generate a field-level diff showing source values against Freshsales field values for every mapped field, including ghost-account resolution status for Individual Contacts and Source_Listing__c population for Offers. You verify the diff before the full run commits. Custom field creation in Freshsales is validated at this stage. Any mapping corrections are applied before the full migration executes.
Cutover with delta-pickup for in-flight records
The full migration runs against Freshsales. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Propertybase during the cutover. Audit log captures every insert, update, and association at the field level. One-click rollback is available if reconciliation against your Propertybase export report fails. After rollback confirmation, we deliver the final audit log and a reconciliation summary showing record counts, association integrity, and any records that could not be migrated with their failure reasons.
Platform deep dives
Propertybase
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 Propertybase 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
Propertybase: Salesforce API limits apply — not publicly documented per Propertybase tier.
Data volume sensitivity
Propertybase 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 Propertybase to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Propertybase 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 Propertybase
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.