CRM migration
Field-level mapping, validation, and rollback between Inmovilla and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Inmovilla
Source
Freshsales
Destination
Compatibility
10 of 11
objects map 1:1 between Inmovilla and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
Inmovilla is a Spanish real estate CRM built around property management — clients, properties, and a transaction log — with deep portal integration for Spanish listing sites. It lacks a standard REST API with broad field-level access; data lives in a relational model optimized for real estate workflows. Freshsales (Freshworks CRM) uses the standard SMB CRM object graph: Leads, Contacts, Accounts, Deals, and Products, with lifecycle stages and a Kanban pipeline view. Custom objects require app-level creation in Freshsales. The migration must translate Inmovilla's property-centric schema into Freshsales' contact-centric model, create custom fields for property-specific attributes (property_type, square_meters, energy_certificate), and resolve owner assignments by email match against Freshsales users. We cannot migrate Inmovilla's portal sync integrations or biometric signature workflows — those require Freshsales-native rebuilds. FlitStack sequences the migration via API, running a sample migration with field-level diff before the full run, and captures a 24–48-hour delta window for in-flight changes at 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 Inmovilla 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.
Inmovilla
Client / Contacto
Freshsales
Contact
1:1Inmovilla client records map directly to Freshsales Contacts. Email, phone, and address fields map to Freshsales' standard Contact fields. Clients with no email address are flagged for manual review before migration — Freshsales requires an email for Contact creation via API.
Inmovilla
Client (prospect)
Freshsales
Lead
1:manyInmovilla clients who have not initiated a property transaction route to Freshsales Lead. The split is determined by whether the client has an associated property record with a transaction status — active transaction records land as Contacts, prospect-only records land as Leads.
Inmovilla
Property / Inmueble
Freshsales
Custom Fields on Contact
1:1Inmovilla's property entity has no direct Freshsales equivalent. We migrate property data as custom fields on the Contact record (Property_Type__c, Square_Meters__c, Energy_Certificate__c, Property_Reference__c) so each client contact carries their associated property details. Additional custom fields such as Parking_Space__c, Community_Fees__c, or Urbanization__c can be added similarly, preserving data type fidelity for reporting and segmentation.
Inmovilla
Transaction / Operación
Freshsales
Deal
1:1Inmovilla transaction records map to Freshsales Deals. The transaction type (sale, rental, rental-with-option) maps to a Deal custom field (Transaction_Type__c). Freshsales' Kanban pipeline stages are created to reflect the transaction lifecycle stages in use at the time of migration. Each stage includes probability weights for accurate forecasting in Freshsales' deal analytics.
Inmovilla
Property status field
Freshsales
Deal Stage
1:1Inmovilla's property status values (disponible, reservado, vendido, alquilado) map to Freshsales Deal Stage pick-list values. Each status requires a value-by-value mapping entry — unrecognised status values default to a configurable fallback stage. The mapping table also records the Spanish labels, the corresponding English Freshsales stage names, and any probability adjustments required for pipeline forecasting.
Inmovilla
Agent / Comercial
Freshsales
Freshsales User (OwnerId)
1:1Inmovilla agent assignments are resolved by email match against Freshsales users. If an Inmovilla agent has no corresponding Freshsales user account, their records are assigned to a fallback owner and flagged for your admin to create the user before go-live.
Inmovilla
Property notes / Notas del inmueble
Freshsales
Contact Notes
1:1Property notes in Inmovilla migrate as Freshsales Notes attached to the associated Contact record. Original timestamps and creating agent are preserved as metadata on the Note. The note body retains full text, including any HTML formatting, and any linked attachments are logged with file size and mime type for downstream verification.
Inmovilla
Document / Documento
Freshsales
Freshsales Files
1:1Inmovilla document attachments (property photos, floor plans, energy certificates) are downloaded and re-uploaded to Freshsales Files, linked to the corresponding Contact record. File size limits are enforced per Freshsales storage quota. Each file retains its original filename, creation date, and SHA‑256 hash for integrity checking, and is associated with the contact via Freshsales' file attachment API.
Inmovilla
Portal listing / Publicación
Freshsales
No equivalent
1:1Inmovilla portal-synchronisation links to Spanish property portals (Idealista, Fotocasa, etc.) have no Freshsales equivalent. We preserve the last-known portal URL as a custom field (Last_Portal_URL__c) for reference, but the sync integration must be rebuilt using Freshsales' outbound webhook or a third-party integration.
Inmovilla
Biometric signature record
Freshsales
No equivalent
1:1Inmovilla's biometric signature capture for contract signing is a platform-specific feature with no Freshsales counterpart. We preserve the signature event metadata (date, contract reference) as a custom field on the Deal; the signature itself is not migratable and can be referenced in reports by linking to the contract document record.
Inmovilla
Custom property attribute
Freshsales
Custom field on Contact or Deal
1:1Inmovilla custom property fields (e.g., urbanization name, floor number, parking space) are enumerated before migration. Each is created as a Freshsales custom field on Contact (client-specific) or Deal (transaction-specific), with data type preserved — text fields stay text, numeric fields stay numeric.
| Inmovilla | Freshsales | Compatibility | |
|---|---|---|---|
| Client / Contacto | Contact1:1 | Fully supported | |
| Client (prospect) | Lead1:many | Fully supported | |
| Property / Inmueble | Custom Fields on Contact1:1 | Fully supported | |
| Transaction / Operación | Deal1:1 | Fully supported | |
| Property status field | Deal Stage1:1 | Fully supported | |
| Agent / Comercial | Freshsales User (OwnerId)1:1 | Fully supported | |
| Property notes / Notas del inmueble | Contact Notes1:1 | Fully supported | |
| Document / Documento | Freshsales Files1:1 | Fully supported | |
| Portal listing / Publicación | No equivalent1:1 | Fully supported | |
| Biometric signature record | No equivalent1:1 | Fully supported | |
| Custom property attribute | Custom field on Contact or Deal1: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.
Inmovilla gotchas
Auto-renewing subscription causes unexpected charges
Pipeline stage names are agency-configured
No publicly documented API
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
Enumerate Inmovilla schema and enumerate Freshsales custom field targets
FlitStack AI runs a discovery pass against your Inmovilla instance — exporting all contacts, properties, transactions, agents, and custom property fields via CSV and direct database queries. We cross-reference against the Freshsales API to identify which custom fields already exist and which need creation. The output is a field-creation manifest listing each new Freshsales custom field (name, type, pick-list values for Spanish labels) for your Freshsales admin to pre-create before migration.
Resolve agents by email and prepare owner mapping
Inmovilla agent assignments are matched by email address against Freshsales user accounts. We generate an owner-resolution report listing every Inmovilla agent, their email address, and their Freshsales match status. Agents with no Freshsales account are flagged with a warning — your team creates the Freshsales user (with the matching email) before migration. No contact or deal lands without a resolved owner.
Build value-mapping table for Spanish pick-list fields
Every Inmovilla pick-list field (property type, transaction status, energy certificate rating, client type) is enumerated. We generate a value-mapping table listing each source Spanish value and the corresponding Freshsales pick-list option. Your Freshsales admin creates the matching Spanish pick-list options in Freshsales before migration so pick-list fields display correctly without English defaults. The table also records the Freshsales field API name, the data type, and any validation rules, enabling the admin to configure options with confidence and avoid mismatched values.
Run sample migration with field-level diff
A representative sample (typically 200–500 records spanning contacts, properties, transactions, and notes) migrates first. We generate a field-level diff between the Inmovilla source and the Freshsales destination — you verify property field mapping, lifecycle-stage assignment, transaction-to-deal mapping, and owner resolution before the full run commits. The diff report highlights any missing or mis‑typed values, flags custom fields that need creation, and provides a visual side‑by‑side view so stakeholders can sign off before proceeding to the full data load.
Execute full migration with delta-pickup cutover
The full migration runs — accounts and contacts land first (property fields attached to contact records), then transactions map to Deals with pipeline stage mapping and transaction type custom fields, then notes and files attach to their parent records. A 24–48-hour delta window captures any records modified in Inmovilla during cutover. FlitStack AI generates an audit log of every record operation; one-click rollback is available if reconciliation reveals a mapping error.
Platform deep dives
Inmovilla
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 Inmovilla 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
Inmovilla: Not publicly documented..
Data volume sensitivity
Inmovilla 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 Inmovilla to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Inmovilla 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 Inmovilla
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.