CRM migration
Field-level mapping, validation, and rollback between Knock CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Knock CRM
Source
Freshsales
Destination
Compatibility
12 of 13
objects map 1:1 between Knock CRM and Freshsales.
Complexity
BStandard
Timeline
3–5 days
Overview
Knock CRM and Freshsales serve different CRM niches. Knock is purpose-built for multifamily leasing teams — its data model centers on Guest Cards, Properties, Units, and Leases, with built-in tour scheduling and marketing attribution for apartment communities. Freshsales is a general-purpose sales CRM with standard Lead/Contact/Account/Opportunity objects, Contact Lifecycle Stages, Kanban pipeline views, Freddy AI scoring, and a REST API with 200 records-per-page limits. A migration from Knock to Freshsales requires transforming a property-centric data model into a contact-account-opportunity framework, which means mapping Knock Guest Cards to Freshsales Leads or Contacts, Properties to Freshsales Accounts, Units to custom property modules, and Leases to either custom objects or Opportunity records with custom date fields. We carry over all standard fields (name, email, phone, address, owner) and preserve Knock's property associations, lease start dates, and move-in timelines as custom fields in Freshsales. Automations, sequences, tour-scheduling rules, and attribution logic do not migrate — those must be rebuilt in Freshsales using workflows, sales sequences, and the native calendar. Reports and dashboards do not transfer; underlying contact and activity data does. We use scoped read access on Knock's API to extract the data, transform it according to the mapping plan, and load it into Freshsales via the Freshsales REST API or CSV import. A 24–48 hour delta window captures any records modified in Knock during the 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 Knock 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.
Knock CRM
Guest Card
Freshsales
Lead / Contact
many:1Knock Guest Cards are the primary contact record for prospects. We split them by lifecycle position: active prospects route to Freshsales Lead; prospects who have signed a lease and are in a post-move-in tracking status route to Freshsales Contact under the corresponding Account (Property). The split rule is configurable by your team based on whether you want to manage pre-lease prospects as Leads or Contacts.
Knock CRM
Property
Freshsales
Account
1:1Knock Properties map directly to Freshsales Accounts. Property name becomes Account Name, property address maps to the Account's billing address fields, and the property website maps to Account.website. If the property has a parent company or portfolio management structure, we preserve the hierarchy using Freshsales Account Hierarchy where available or a custom parent-account field.
Knock CRM
Unit
Freshsales
Custom Object: Property_Unit
1:1Knock Units do not have a direct Freshsales equivalent — Freshsales has no native unit-tracking object. We create a Freshsales custom object called Property_Unit with fields for unit number, floor plan type, bedrooms, bathrooms, market rent, and lease status. Each Unit links to its parent Property (Account) via a lookup relationship.
Knock CRM
Lease
Freshsales
Custom Object: Lease / Opportunity
1:1Knock Leases carry lease start date, lease end date, monthly rent, security deposit, and unit association. We migrate these to a custom Lease object in Freshsales linked to the Contact (resident) and the Unit (Property_Unit). If your team uses leases to track revenue pipeline, we can alternatively map active leases to Opportunity records with close date = lease start and amount = monthly rent for revenue forecasting.
Knock CRM
Pipeline / Deal Stage
Freshsales
Opportunity Stage
1:1Knock's leasing pipeline stages (Prospect, Touring, Applied, Leased, Renewed) map value-by-value to Freshsales Opportunity Stage values. We preserve stage-entered timestamps as custom datetime fields on each Opportunity so reporting continuity is maintained. Stage probability and forecast category are re-applied from Freshsales side once the stage mapping is confirmed.
Knock CRM
Contact / Owner
Freshsales
User
1:1Knock team members who are assigned as owners of Guest Cards, Properties, or Leases are matched to Freshsales users by email address. Unmatched owners are flagged before migration. You can either invite them to Freshsales first or assign their records to a fallback owner — no record lands without a valid Freshsales user as owner.
Knock CRM
Activity (Call, Email, Meeting, Note)
Freshsales
Task / Event / Note
1:1Knock activities — phone calls, emails, meetings, and notes attached to Guest Cards or Properties — migrate to Freshsales Tasks and Events. Original timestamps, activity owners, and parent-record links are preserved. Knock notes with rich-text formatting migrate to Freshsales Notes where supported, or as Task records with the note body in the description field.
Knock CRM
Attachment / File
Freshsales
Freshsales Files
1:1Files attached to Knock Guest Cards, Properties, or Leases are re-uploaded to Freshsales Files, linked to the corresponding record. File size limits apply (Freshsales caps files at 25MB per upload). Inline images in Knock notes are downloaded and re-hosted as Freshsales attachments on the parent record.
Knock CRM
Custom Property Field
Freshsales
Custom Field / Custom Object
1:1Knock's custom property fields (e.g., property type, year built, number of amenities, renewal rate) migrate as Freshsales custom fields on the Account or Property_Unit object. Fields with pick-list values require value-by-value mapping against Freshsales pick-list options. Long-text or multi-select Knock fields map to Freshsales Long Text Area or Multi-Select Picklist respectively.
Knock CRM
Custom Guest Card Field
Freshsales
Custom Field on Lead / Contact
1:1Knock custom fields on Guest Cards (e.g., lead source detail, referral type, budget range, preferred move-in date) migrate as Freshsales custom fields on Lead and Contact. These are created as identical field names for consistency. If a Knock field uses a data type not supported natively by Freshsales, we map it to the closest equivalent (e.g., Knock date field → Freshsales Date field) and note the transformation.
Knock CRM
Tour / Appointment
Freshsales
Event
1:1Knock tour records (scheduled via Knock Now or manually logged) migrate to Freshsales Events with original start/end times, assigned user, and the related Guest Card or Property as the parent record. Tour status (Scheduled, Completed, No-Show) maps to a custom Event Status field in Freshsales.
Knock CRM
Knock Workflow / Automation
Freshsales
Not migrated
1:1Knock automations (auto-follow-up rules, stage-transition triggers, task-creation workflows) do not have a Freshsales equivalent. We export your Knock workflow definitions as a structured JSON document and a rebuild checklist so your Freshsales admin can recreate the logic using Freshsales Workflows, assignment rules, or the Freshsales API.
Knock CRM
Knock Report / Dashboard
Freshsales
Not migrated
1:1Knock reports and dashboards do not transfer. The underlying data (Guest Cards, Properties, Leases, Activities) does migrate, so your Freshsales admin can rebuild equivalent reports from the migrated data. We deliver a report-mapping worksheet that lists each Knock report and its nearest Freshsales analogue.
| Knock CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Guest Card | Lead / Contactmany:1 | Fully supported | |
| Property | Account1:1 | Fully supported | |
| Unit | Custom Object: Property_Unit1:1 | Fully supported | |
| Lease | Custom Object: Lease / Opportunity1:1 | Fully supported | |
| Pipeline / Deal Stage | Opportunity Stage1:1 | Fully supported | |
| Contact / Owner | User1:1 | Fully supported | |
| Activity (Call, Email, Meeting, Note) | Task / Event / Note1:1 | Fully supported | |
| Attachment / File | Freshsales Files1:1 | Fully supported | |
| Custom Property Field | Custom Field / Custom Object1:1 | Fully supported | |
| Custom Guest Card Field | Custom Field on Lead / Contact1:1 | Fully supported | |
| Tour / Appointment | Event1:1 | Fully supported | |
| Knock Workflow / Automation | Not migrated1:1 | Fully supported | |
| Knock Report / Dashboard | Not migrated1: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.
Knock CRM gotchas
Prospect-to-Unit linkage is not a foreign key in all exports
Attribution data is a Prospect property, not a separate object
Pipeline stages are property-specific, not global
Lease records may lack full document blobs in standard export
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 Knock data model and inventory custom fields
We connect to Knock via scoped read-only API access and export a full inventory of all objects — Guest Cards, Properties, Units, Leases, Activities, Attachments, and any custom property fields or custom Guest Card fields. We document field data types, pick-list values, and empty/null rates. This inventory drives the Freshsales schema setup plan and the field-mapping specification. Any duplicate Guest Card records are flagged at this stage for your team to resolve before migration loads.
Set up Freshsales schema — custom modules, fields, and stage mapping
We deliver a Freshsales schema setup plan that specifies: (1) the Property_Unit__c custom object and its fields, (2) the Lease__c custom object and its fields, (3) all custom fields on Lead, Contact, and Account, (4) pick-list values for stage mapping and lease status, and (5) the Opportunity pipeline stage configuration. Your Freshsales admin creates these before data loads, or our team creates them via the Freshsales API. We validate the schema is in place before triggering any data migration.
Resolve owner accounts and user assignments
We match every Knock owner email to a Freshsales user by email address. Owners with no corresponding Freshsales account are listed in a resolution report with the affected record count. You can either invite those users to Freshsales before migration or designate a fallback owner. We do not load any record without a valid Freshsales owner assignment — this prevents orphaned records in Freshsales and ensures assignment rules and activity ownership resolve correctly from day one.
Run a sample migration with field-level diff and validate
A representative slice — typically 200–500 records spanning Guest Cards, Properties, Units, Leases, and a sample of Activities — migrates first. We generate a field-level diff comparing Knock source values to Freshsales destination values for every mapped field. You review the diff to confirm stage mapping, lease date transfer, owner resolution, and unit linkage are correct. Sample migration approval is required before the full run commits. Typical issues caught at this stage are pick-list value gaps, custom field name mismatches, and unit-lookup resolution failures.
Execute full migration and delta-pickup cutover
The full migration loads all objects in dependency order: Accounts (Properties) first, then Contacts and Leads, then Property_Unit__c records, then Lease__c records, then Opportunities mapped from Knock pipeline deals, then Activities, then Files. A delta-pickup window of 24–48 hours captures any Knock records created or modified during the cutover. We run post-migration validation counts per object, check for null required fields, verify owner resolution rates, and surface any records that failed to load with error codes from the Freshsales API.
Platform deep dives
Knock 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 Knock 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
Knock CRM: Not publicly documented.
Data volume sensitivity
Knock 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 Knock CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Knock 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 Knock 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.