CRM migration
Field-level mapping, validation, and rollback between My Practice Now and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
My Practice Now
Source
Freshsales
Destination
Compatibility
11 of 12
objects map 1:1 between My Practice Now and Freshsales.
Complexity
BStandard
Timeline
24–48 hours
Overview
My Practice Now stores client records, appointments, invoices, and resource-sharing data in a practice-management model built for private practitioners and small healthcare-adjacent businesses. Freshsales uses a conventional CRM object model — Leads, Contacts, Accounts, Opportunities (Deals), Tasks, Events, and custom modules — with different field naming conventions and a separate Lead-to-Contact conversion workflow. The migration must translate My Practice Now's client-centric, appointment-heavy schema into Freshsales's Lead/Contact split, map invoice and billing data into Deals or custom modules, and preserve original timestamps and owner assignments throughout. We migrate all standard My Practice Now records — clients, appointments, notes, and invoices — via Freshsales's REST API, re-uploading files and recreating associations using lookup fields and Freshsales's native relationship model. Custom fields present in My Practice Now map to Freshsales custom fields, with type-aware conversions (date pickers to date fields, multi-selects to pick-lists, and text areas to long-text fields). Workflows, automations, and any built-in sequences in My Practice Now do not migrate and must be rebuilt in Freshsales's Automation section. Freshsales's API rate limits govern bulk-load pacing; we handle back-off and retry logic to ensure complete data transfer within the cutover window. Owner resolution uses email matching against Freshsales user accounts, flagging any My Practice Now practitioner who lacks a corresponding Freshsales user before migration commits.
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 My Practice Now 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.
My Practice Now
Client
Freshsales
Contact
1:1My Practice Now client records map directly to Freshsales Contacts. The client name splits into First Name and Last Name fields; primary contact details (email, phone) map to the corresponding Freshsales Contact fields. Clients without an email are flagged for manual review before migration.
My Practice Now
Client
Freshsales
Account
1:1If the practice manages client organizations rather than individual clients, My Practice Now clients with a company name field map to Freshsales Accounts. The Account holds the organization-level record; individual Contact records link to it via the Account lookup.
My Practice Now
Client
Freshsales
Lead
1:manyMy Practice Now clients who have not yet had an appointment or generated a bill map to Freshsales Leads rather than Contacts — keeping them in a pre-contact state until a deal is opened. Existing clients with completed appointments land as Contacts.
My Practice Now
Appointment
Freshsales
Task
1:1Each My Practice Now appointment becomes a Freshsales Task with Subject, Due Date, Owner, and Status fields. The appointment duration and practitioner ID map to the Task description or custom fields. Completed appointments map to Completed tasks; pending ones retain their status.
My Practice Now
Appointment
Freshsales
Event
1:1Appointments with a specific start and end time convert to Freshsales Events rather than Tasks, preserving the original time window. The practitioner maps to the Event owner; the client maps as the Event's linked Contact.
My Practice Now
Invoice
Freshsales
Deal
1:1My Practice Now invoices with a monetary total map to Freshsales Deals (Opportunities) with the invoice total as the Deal Amount. The invoice status (paid, pending, overdue) becomes a custom pick-list field on the Deal since Freshsales Deals use stage rather than payment-status terminology.
My Practice Now
Invoice Line Item
Freshsales
Deal Product
1:1Individual line items on a My Practice Now invoice map to Freshsales Deal Products, linking the product or service description, quantity, and unit price to the Deal. Products must exist in the Freshsales Product Catalog first; we create placeholder products where no match exists.
My Practice Now
Client Note
Freshsales
Note
1:1My Practice Now client notes map to Freshsales Notes attached to the corresponding Contact or Account. Rich-text formatting is preserved where supported; long notes truncate with a reference link to the original export file.
My Practice Now
Client File Attachment
Freshsales
File
1:1File attachments from My Practice Now client records re-upload to Freshsales as Files, linked to the corresponding Contact or Account record. File size limits per Freshsales plan apply; we flag oversized files for splitting before migration.
My Practice Now
Practitioner / Staff Member
Freshsales
User
1:1My Practice Now practitioner and staff records resolve by email match against Freshsales User accounts. Unmatched practitioners are flagged before migration; they can be invited to Freshsales first or assigned to a fallback user for the duration of the cutover.
My Practice Now
Custom Property (client)
Freshsales
Custom Field (Contact)
1:1Any My Practice Now custom property on a client record that has no direct Freshsales equivalent creates a corresponding custom field on the Contact object. Field type is matched (text to text, number to number, date to date picker) before migration begins.
My Practice Now
Service / Product
Freshsales
Product
1:1Services or products tracked in My Practice Now map to Freshsales Products with name, unit price, and description. These populate the Product Catalog for use in Deal Products and Quotes at Pro and Enterprise tiers.
| My Practice Now | Freshsales | Compatibility | |
|---|---|---|---|
| Client | Contact1:1 | Fully supported | |
| Client | Account1:1 | Fully supported | |
| Client | Lead1:many | Fully supported | |
| Appointment | Task1:1 | Fully supported | |
| Appointment | Event1:1 | Fully supported | |
| Invoice | Deal1:1 | Fully supported | |
| Invoice Line Item | Deal Product1:1 | Fully supported | |
| Client Note | Note1:1 | Fully supported | |
| Client File Attachment | File1:1 | Fully supported | |
| Practitioner / Staff Member | User1:1 | Fully supported | |
| Custom Property (client) | Custom Field (Contact)1:1 | Fully supported | |
| Service / Product | Product1: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.
My Practice Now gotchas
Research data is sparse and often misattributed
Thinkific export scope determines what we can migrate
Content files require separate media migration
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 audit and Freshsales schema setup
We extract a full export of all My Practice Now objects — clients, appointments, invoices, line items, notes, attachments, practitioners, and custom properties — and run a schema audit against Freshsales's object model. We identify which Freshsales plan tier is required, create any missing custom fields and product catalog entries, and configure the Lead-to-Contact conversion settings so that migrated records land in the correct state. Your Freshsales admin reviews and approves the schema plan before data extraction begins.
Owner and practitioner resolution by email
My Practice Now practitioner and staff records are matched against Freshsales User accounts by email address. We generate a pre-migration report listing all resolved owners (mapped automatically) and unresolved practitioners (no matching Freshsales user). Your team resolves unresolved practitioners by either inviting them to Freshsales or assigning a fallback user before the migration window opens. No record migrates without a confirmed owner assignment.
Sample migration with field-level diff
A representative slice of records — typically 100–500 spanning clients, appointments, invoices, and notes — migrates first using the Freshsales REST API. We generate a field-level diff comparing source values against the destination record so you can verify mapping accuracy before the full run. Particular attention is paid to custom field translations, appointment-to-Task/Event routing, and invoice-to-Deal mapping. You approve the sample before we schedule the full migration.
Full migration with delta-pickup window
All remaining records migrate via the Freshsales API, sequenced to resolve foreign keys in the correct order (Accounts first, then Contacts/Leads, then Deals with contact roles, then Tasks/Events, then Notes and Files). A delta-pickup window of 24–48 hours captures any new records or status changes made in My Practice Now during the cutover. We log every API operation; one-click rollback is available if reconciliation fails.
Post-migration reconciliation and rebuild plan
We run a reconciliation report comparing record counts, field completeness, and owner resolution between My Practice Now and Freshsales. Any gaps are flagged for manual remediation. We deliver an export of your My Practice Now automation logic as a reference document for your Freshsales admin to rebuild workflows, sequences, and appointment-reminder automations in Freshsales's Automation section.
Platform deep dives
My Practice Now
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 My Practice Now 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
My Practice Now: Not publicly documented at the individual storefront level; Thinkific generally applies org-level rate limits.
Data volume sensitivity
My Practice Now 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 My Practice Now to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your My Practice Now 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 My Practice Now
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.