CRM migration
Field-level mapping, validation, and rollback between PropertySimple and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
PropertySimple
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between PropertySimple and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
PropertySimple organizes data around real estate marketing — contacts, property listings, ZIP-code marketing targets, and automated ad campaigns tied to listings. It has no native concept of a sales pipeline, opportunity stages, or business-process flows. Dynamics 365 Sales (built on Microsoft Dataverse) models the same contacts as Account and Contact records, listings as custom entities, and marketing interactions as Activity records tied to those accounts. The migration carries PropertySimple's contact records, company associations, property-level data, and lead history into the corresponding Dynamics 365 tables. Real estate-specific concepts like ZIP-code exclusivity zones and listing ad performance metrics require custom fields in Dynamics 365 Sales. Automations, ad campaigns, and social-media scheduling logic in PropertySimple do not migrate — they must be rebuilt in Power Automate or Dynamics workflows. FlitStack AI sequences the load so Account records exist before Contact records (via the AccountId lookup), owner resolution runs by email match against Dynamics 365 users, and a delta-pickup window captures any PropertySimple records modified 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.
Source platform
PropertySimple platform overview
Scorecard, SWOT, gotchas, and pricing for PropertySimple.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a PropertySimple object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
PropertySimple
Contact
Microsoft Dynamics 365 Sales
Contact
1:1PropertySimple contact records map 1:1 to Dynamics 365 Sales Contact. Email, phone, name, address, and owner resolve by email match to a Dynamics 365 user. PropertySimple contacts without a company association land as Contacts on a default 'Unassigned' Account record, which your admin defines in Dynamics 365 before migration runs.
PropertySimple
Contact (with company association)
Microsoft Dynamics 365 Sales
Contact + Account
1:1PropertySimple stores a company name on the contact record. We split this into a Dynamics 365 Account record (created first, by Company Name) and a Contact record with AccountId lookup pointing to it. If the same company appears on multiple contacts, only one Account record is created and all contacts reference its AccountId.
PropertySimple
Company / Brokerage
Microsoft Dynamics 365 Sales
Account
1:1PropertySimple brokerage and company records map directly to Dynamics 365 Sales Account. Company name becomes Account.Name, website becomes Account.Website, and industry defaults to 'Real Estate' unless a specific value is set. Billing address and shipping address fields on the company map to Account.Address fields.
PropertySimple
Lead (unqualified contact)
Microsoft Dynamics 365 Sales
Lead
1:1PropertySimple leads that have not yet been converted to a client record route to Dynamics 365 Sales Lead. LeadSource maps from PropertySimple's source-channel field (e.g., 'ZIP Ad Click', 'Portal Inquiry'). Status pick-list values are mapped value-by-value; custom lead statuses in PropertySimple require value-mapping setup in Dynamics 365 before migration.
PropertySimple
Property / Listing
Microsoft Dynamics 365 Sales
RealEstateListing__c (custom table)
1:1PropertySimple has no Dynamics 365 equivalent for real estate listings. We create a custom RealEstateListing__c table in Dynamics 365 with fields for Address, City, State, ZipCode, ListingStatus, ListPrice, ListingAgent (lookup to Contact), and ListingDate. This table is loaded after Account and Contact so foreign keys resolve correctly.
PropertySimple
Listing Agent Association
Microsoft Dynamics 365 Sales
RealEstateListing__c.OwnerId / ContactId lookup
1:1PropertySimple links a listing to a primary agent contact. We map this as a lookup on RealEstateListing__c to the Contact record created from PropertySimple. The OwnerId field is set from the matched Dynamics 365 user by email. Secondary agents are stored as a custom multi-select or separate junction object depending on your listing workflow.
PropertySimple
ZIP Code Marketing Zone
Microsoft Dynamics 365 Sales
territory (Account.Territory or custom field)
1:1PropertySimple's ZIP-code exclusivity zones have no direct Dynamics 365 equivalent. We create a custom ZIPCodExclusivity__c field on Account (for broker-level zones) or on a Territory__c custom table (for agent-level zones). Each PropertySimple ZIP record becomes one row in this table, with a link to the owning Contact or Account.
PropertySimple
Ad Campaign / Listing Ad
Microsoft Dynamics 365 Sales
Campaign + CampaignMember
1:1PropertySimple ad campaigns with click-through and cost data migrate to Dynamics 365 Campaign records with total actualcost and numberofleads captured in custom fields. Individual listing ad performance (impressions, clicks, cost per click) is stored as a related custom table (ListingAdPerformance__c) linked to the Campaign.
PropertySimple
Engagement / Email / Note
Microsoft Dynamics 365 Sales
Email (Activity) / Note
1:1PropertySimple client notes and email interactions map to Dynamics 365 Email (activity) records with regardingobjectid pointing to the Contact or Account. Original timestamps and subject lines are preserved. Rich-text formatting in PropertySimple notes converts to Dynamics 365 Note (annotation) body text.
PropertySimple
Automated Follow-up / Sequence
Microsoft Dynamics 365 Sales
Not migrated — Power Automate
1:1PropertySimple AI follow-up sequences and automated client messaging have no Dynamics 365 Sales native equivalent. We export the sequence definition (trigger conditions, message order, timing) as a JSON reference document. Your Dynamics 365 admin rebuilds these in Power Automate or Dynamics automated processes using that export as the functional spec.
PropertySimple
Social Media Post / Scheduling
Microsoft Dynamics 365 Sales
Not migrated — Power Automate
1:1PropertySimple's automated social media posting and listing promotion scheduling do not transfer to any Dynamics 365 entity. These automations must be rebuilt using Power Automate templates that trigger SharePoint or third-party social connectors. We document the current posting cadence and triggers before migration so the rebuild is scoped accurately.
PropertySimple
User / Owner
Microsoft Dynamics 365 Sales
SystemUser (OwnerId)
1:1PropertySimple users and agent accounts resolve to Dynamics 365 Sales SystemUser records by email address match. Unmatched PropertySimple users are flagged before migration so your team can create corresponding Dynamics 365 accounts or assign their records to a fallback owner. OwnerId on every migrated record references the resolved SystemUser.
| PropertySimple | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Contact (with company association) | Contact + Account1:1 | Fully supported | |
| Company / Brokerage | Account1:1 | Fully supported | |
| Lead (unqualified contact) | Lead1:1 | Fully supported | |
| Property / Listing | RealEstateListing__c (custom table)1:1 | Fully supported | |
| Listing Agent Association | RealEstateListing__c.OwnerId / ContactId lookup1:1 | Fully supported | |
| ZIP Code Marketing Zone | territory (Account.Territory or custom field)1:1 | Fully supported | |
| Ad Campaign / Listing Ad | Campaign + CampaignMember1:1 | Fully supported | |
| Engagement / Email / Note | Email (Activity) / Note1:1 | Fully supported | |
| Automated Follow-up / Sequence | Not migrated — Power Automate1:1 | Fully supported | |
| Social Media Post / Scheduling | Not migrated — Power Automate1:1 | Fully supported | |
| User / Owner | SystemUser (OwnerId)1: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.
PropertySimple gotchas
No documented public API for automated data extraction
ZIP Code exclusivity settings have no standard CRM equivalent
AI-generated content assets are platform-locked
Pricing tiers are tied to platform features, not data limits
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Audit PropertySimple source schema and design Dynamics 365 custom tables
FlitStack AI reads your PropertySimple account via API to enumerate all contacts, companies, properties, listing records, ZIP zones, ad campaigns, and engagement notes. We cross-reference this against your target Dynamics 365 environment to identify missing custom tables (RealEstateListing__c, Territory__c, ListingAdPerformance__c) and produce a schema setup plan specifying every field, pick-list value, and lookup relationship that must exist in Dynamics 365 before data transfer begins.
Resolve owners by email and flag unmatched PropertySimple users
PropertySimple agent and admin accounts are matched to Dynamics 365 Sales SystemUser records by email address. We iterate through every PropertySimple user and attempt an email-based lookup against your Dynamics 365 user directory. Unmatched PropertySimple users — those without a corresponding Dynamics 365 license or account — are flagged in a pre-migration report so your team either creates their Dynamics 365 account or assigns their records to a fallback owner. No record migrates without a resolved OwnerId; this prevents orphaned records with no assigned owner in the destination system.
Create Account records before Contact records, then load listing custom tables
Dynamics 365 enforces referential integrity — Contact records require an existing AccountId, and RealEstateListing__c requires an existing ContactId for the listing agent. We sequence the migration so Account records load first from PropertySimple company data, then Contact records load with AccountId links, then the RealEstateListing__c table loads with ContactId and AccountId lookups, then ZIP zones and ad campaigns follow. This ordering prevents foreign-key violations that would halt the load.
Run sample migration with field-level diff and verify lookup resolution
A representative slice of records — typically 200–500 covering contacts, accounts, listings, and a few ad campaigns — migrates first. We generate a field-level diff between PropertySimple source values and Dynamics 365 destination values so you can verify that listing status pick-list values mapped correctly, ZIP codes populated the Territory__c table, and owner resolution resolved as expected. No full run commits until you sign off on the sample diff.
Execute full migration with delta-pickup window and audit log
Full migration runs against Dynamics 365 Sales using the sequenced load order established in the sample phase. A delta-pickup window of 24–48 hours captures any PropertySimple records created or modified during the cutover period so the destination reflects the final state at go-live. Every operation is logged to an audit trail, and one-click rollback is available if post-migration reconciliation identifies missing records or broken lookups.
Platform deep dives
PropertySimple
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between PropertySimple and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across PropertySimple and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between PropertySimple and Microsoft Dynamics 365 Sales .
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
PropertySimple: Not publicly documented..
Data volume sensitivity
PropertySimple 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 PropertySimple to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your PropertySimple to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave PropertySimple
Other ways to arrive at Microsoft Dynamics 365 Sales
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.