CRM migration

Migrate from My Practice Now to Freshsales

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 logo

My Practice Now

Source

Freshsales

Destination

Freshsales logo

Compatibility

92%

11 of 12

objects map 1:1 between My Practice Now and Freshsales.

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

My Practice Now logo

My Practice Now

What's pushing teams away

  • Capterra reviewers cite poor customer service and unresponsive support as primary churn drivers, with issues remaining unresolved long enough to erode trust.
  • Negative reviews describe the software as non-intuitive and complicated, contradicting positive reviews and suggesting a steep or inconsistent onboarding experience.
  • Multiple reviews note that implementation is time-consuming and lengthy, which frustrates small practices with limited administrative capacity.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How My Practice Now objects map to Freshsales

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

maps to

Freshsales

Contact

1:1
Fully supported

My 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

maps to

Freshsales

Account

1:1
Fully supported

If 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

maps to

Freshsales

Lead

1:many
Fully supported

My 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

maps to

Freshsales

Task

1:1
Fully supported

Each 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

maps to

Freshsales

Event

1:1
Fully supported

Appointments 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

maps to

Freshsales

Deal

1:1
Fully supported

My 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

maps to

Freshsales

Deal Product

1:1
Fully supported

Individual 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

maps to

Freshsales

Note

1:1
Fully supported

My 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

maps to

Freshsales

File

1:1
Fully supported

File 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

maps to

Freshsales

User

1:1
Fully supported

My 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)

maps to

Freshsales

Custom Field (Contact)

1:1
Fully supported

Any 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

maps to

Freshsales

Product

1:1
Fully supported

Services 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.

Gotchas + challenges

What specifically takes care here

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 logo

My Practice Now gotchas

Medium

Research data is sparse and often misattributed

High

Thinkific export scope determines what we can migrate

Medium

Content files require separate media migration

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Freshsales Lead-to-Contact conversion changes record identity

    My Practice Now clients are single-record entities with no Lead/Contact distinction. Freshsales separates Leads (pre-contact prospects) from Contacts (confirmed clients). Migrated records that have not yet had an appointment or generated a deal land as Freshsales Leads. If your team subsequently converts them to Contacts, Freshsales creates a new Contact record and may leave the original Lead inactive — requiring your admin to understand the conversion workflow to avoid record duplication. We preserve the original My Practice Now client ID on both the Lead and the resulting Contact for traceability.

  • Invoice payment status has no native Freshsales equivalent

    Freshsales Deals track stage (Open, Won, Lost) and monetary amount, but not invoice-level payment status (Paid, Pending, Overdue) as a standard field. My Practice Now invoice records that carry payment status must map to a custom field on the Deal (e.g., Payment_Status__c) created before migration begins. This requires Freshsales Pro or Enterprise access since custom fields on standard objects require those tiers. We surface this dependency in the pre-migration schema plan so your team can configure the field before data lands.

  • Freshsales API rate limits require pacing across large record sets

    Freshsales enforces API rate limits per account tier (documented in the Freshworks Developer Docs). Large My Practice Now exports — particularly multi-year appointment histories and bulk invoice files — can exceed default per-minute request quotas. FlitStack implements exponential back-off and request queuing against the Freshsales API, but very large imports (above 50,000 records) may extend the migration window beyond the initial estimate. We validate API responsiveness during the sample migration run and adjust pacing before the full migration commits.

  • Appointment-to-Task/Event translation loses native scheduling UI

    My Practice Now appointments carry a scheduling intent — they represent booked time with a practitioner. Freshsales Tasks and Events are activity logs rather than scheduling slots. There is no Freshsales-native calendar for appointments unless your team also adopts Freshcaller or a third-party scheduling integration. We correctly translate every appointment field, but the destination model does not include a booking or availability calendar. Teams that rely on appointment reminders built into My Practice Now will need to configure Freshsales Workflows or integrate a scheduling tool post-migration.

  • Custom fields on My Practice Now objects may hit Freshsales plan limits

    Freshsales Growth ($9/user/month) includes basic custom fields but caps the total number per module. Advanced custom fields and custom modules require Pro ($39) or Enterprise ($59). If your My Practice Now setup includes more than 15 custom properties per object, upgrading to Pro or Enterprise before migration avoids field creation failures mid-run. We audit custom property counts during the pre-migration scan and report which Freshsales plan tier is required for your specific field count.

Migration approach

Six steps for a successful My Practice Now to Freshsales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

My Practice Now logo

My Practice Now

Source

Strengths

  • Combines appointment scheduling, invoicing, and client notes in a single interface for small practices
  • Intuitive and simple to use according to positive G2 reviewers
  • Responsive development team that incorporates user feature requests
  • Mobile app allows creating and accessing client notes on the go
  • Great tech support cited by satisfied users

Weaknesses

  • Poor customer service and slow issue resolution reported in negative reviews
  • Non-intuitive and complicated interface according to some users
  • Lengthy, time-consuming implementation process
  • Inconsistent user experience — same product praised as intuitive and criticized as confusing
  • Sparse public documentation makes research and comparison difficult
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across My Practice Now and Freshsales.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    My Practice Now: Not publicly documented at the individual storefront level; Thinkific generally applies org-level rate limits.

  • Data volume sensitivity

    B

    My Practice Now doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your My Practice Now to Freshsales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about My Practice Now to Freshsales data migrations

Answers to the questions buyers ask most during My Practice Now to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most My Practice Now to Freshsales migrations complete in 24–48 hours for under 10,000 records. Larger datasets with multi-year appointment histories or complex invoice line-item structures extend to 5–7 days. The pre-migration schema audit and Freshsales plan verification typically takes 2–3 business days before data extraction begins. Freshsales API rate limits are the primary variable that determines the final migration window for large exports.

Adjacent paths

Related migrations to explore

Ready when you are

Move from My Practice Now.
Land in Freshsales, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day