CRM migration

Migrate from tab32 to Freshsales

Field-level mapping, validation, and rollback between tab32 and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

tab32 logo

tab32

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

13 of 13

objects map 1:1 between tab32 and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

tab32 is a cloud-based dental practice management system built for DSOs: it stores patient demographics, clinical tooth charts, perio exams, appointment schedules, CDT-coded procedures, insurance claims, and recall reminders in a HIPAA-compliant clinical model. Freshsales is a sales-focused CRM from Freshworks with standard Leads, Contacts, Accounts, Deals, Products, and Activities objects plus custom fields and custom modules — it has no native clinical or dental scheduling model. We map tab32 patient records to Freshsales Contacts, tab32 appointments to Freshsales Activities, tab32 providers to Freshsales Users, and tab32 practice/location data to Freshsales Accounts. CDT procedure codes, recall frequency, insurance group numbers, and NPI numbers migrate as Freshsales custom fields. Dental clinical records (tooth charts, perio measurements, imaging) have no Freshsales equivalent — those transfer as unstructured text notes or stay in tab32 as a reference field your team maintains separately. tab32 automations, recall scheduling logic, and clinical workflows must be rebuilt in Freshsales or handled by a dental PMS. The migration uses scoped read access on tab32 with a 24–48 hour delta pickup window at cutover so your team keeps working in tab32 throughout.

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

tab32 logo

tab32

What's pushing teams away

  • Support response times of 24–48 hours frustrate practices during critical operations — one reviewer described waiting days for answers to simple questions during an onboarding window.
  • Training relies heavily on pre-recorded video content rather than live, scheduled onboarding sessions, creating access problems for practices operating outside standard business hours.
  • The platform is not user-friendly by default and requires a significant time investment even for tech-savvy teams, with one reviewer recommending competitors for better onboarding UX.
  • Add-on costs and tier-based feature gating reported by multiple sources push the realistic monthly cost above the advertised starting price, creating sticker shock for budget-conscious practices.
  • Feature discoverability is poor — staff report difficulty finding and configuring features even after initial training, suggesting the UI does not surface functionality in an intuitive way.

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 tab32 objects map to Freshsales

Each row shows how a tab32 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.

tab32

Patient

maps to

Freshsales

Contact

1:1
Fully supported

tab32 patient demographics (name, DOB, contact info) map directly to Freshsales Contacts. Insurance carrier, group/subscriber IDs, recall frequency, and preferred provider preserve as Freshsales custom fields on the Contact. tab32 patient records without a linked procedure may be archived rather than migrated.

tab32

Appointment

maps to

Freshsales

Activity

1:1
Fully supported

tab32 appointments map to Freshsales Activities (tasks or events). Appointment date, time, provider, status, and location transfer as standard activity fields. CDT procedure codes and appointment sub-type (hygiene, perio, specialist) migrate as custom fields. The clinical tooth chart and perio exam results have no Freshsales home — these transfer as a long-text Note or stay in tab32 as a reference link.

tab32

Provider / Staff

maps to

Freshsales

User

1:1
Fully supported

tab32 provider records (dentist, hygienist, assistant) map to Freshsales Users by email address match. Provider role (dentist vs. hygienist) migrates as a custom text field since Freshsales User profiles do not have a role taxonomy. Unmatched providers are flagged before migration.

tab32

Practice / Location

maps to

Freshsales

Account

1:1
Fully supported

tab32 practice or DSO location names map to Freshsales Account Name. Practice address, phone, and timezone transfer as standard Account fields. tab32 multi-location setups that use one patient record across locations preserve location as a custom field on the Contact for routing clarity.

tab32

Insurance Carrier

maps to

Freshsales

Custom Field (text)

1:1
Fully supported

tab32 insurance carrier name, group number, and subscriber ID have no native Freshsales equivalent. We preserve these as text custom fields on the Contact record for reference. Full claim history and EOB data do not migrate — dental billing is a PMS function outside Freshsales' scope.

tab32

CDT Procedure Code

maps to

Freshsales

Custom Field (text)

1:1
Fully supported

CDT codes (Current Dental Terminology) used in tab32 treatment plans and appointments have no Freshsales taxonomy. We capture CDT codes as a text custom field on the Activity record so procedure history is searchable. The CDT description maps alongside the code for human readability in Freshsales.

tab32

Treatment Plan

maps to

Freshsales

Custom Field (long-text)

1:1
Fully supported

tab32 treatment plans store proposed procedures, case value, and clinical notes linked to a patient. Freshsales has no treatment plan object. We migrate treatment plan text as a long-text custom field on the Contact record. Complex multi-phase treatment plans may be exported as a PDF reference and linked as a note attachment.

tab32

Recall / Hygiene Interval

maps to

Freshsales

Custom Field (date)

1:1
Fully supported

tab32 recall scheduling (e.g., 6-month hygiene recall, annual perio maintenance) uses an automated reminder engine native to the dental PMS. Freshsales has no recall model. We preserve the recall frequency and next recall date as custom date fields on the Contact so the hygiene cadence is not lost — but automated reminders must be rebuilt as Freshsales workflows or handled in a dental PMS.

tab32

Custom Property (tab32)

maps to

Freshsales

Custom Field (Freshsales)

1:1
Fully supported

tab32 custom properties on patient, appointment, or provider records that have a Freshsales type equivalent (text, number, date, picklist) create Freshsales custom fields on the matching object. tab32 custom properties with no type match (e.g., clinical measurements) migrate as text custom fields or unstructured notes.

tab32

Product / Service

maps to

Freshsales

Product

1:1
Fully supported

tab32 services rendered ( CDT codes as line items, fee schedules) map to Freshsales Products. Product name and unit price transfer directly. Products are then linked to Deals via deal line items. Note that CDT codes used as products require the CDT custom field mapping described above for full clinical traceability.

tab32

Claim / Billing Record

maps to

Freshsales

Note or Attachment

1:1
Fully supported

tab32 insurance claim records, claim status, and billing transactions have no Freshsales equivalent. We migrate claim summaries as Notes on the Contact record and export claim detail records as CSV attachments where claim-level data is needed for reference. Full billing history is outside Freshsales' scope.

tab32

Appointment (revenue)

maps to

Freshsales

Deal

1:1
Fully supported

For DSOs that track appointment production value as deals, we map tab32 appointment revenue to Freshsales Deal Amount, map appointment status to Deal Stage (Scheduled, In Progress, Completed, Cancelled), and use appointment date as the Close Date. This allows Freshsales pipeline reporting on appointment-based revenue by provider and location.

tab32

Patient Associations

maps to

Freshsales

Contact-to-Account Lookup

1:1
Fully supported

tab32 patients linked to a primary practice/location map to Freshsales Contact with an AccountId lookup to the corresponding practice Account. Patients associated with multiple tab32 locations map to one primary AccountId, with secondary locations stored as a custom multi-select field on the Contact for reference.

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.

tab32 logo

tab32 gotchas

High

Data quality inheritance blocks clean migration

High

DSO multi-location structure requires explicit office mapping

Medium

Imaging data lives outside the standard export path

Medium

Fee schedule consolidation is a pre-migration prerequisite

Low

Training and support model assumes daytime availability

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

  • Dental clinical data has no native Freshsales home

    tab32 tooth charts, perio exam measurements, odontogram data, and clinical imaging are stored in a dental-specific clinical model. Freshsales has no clinical objects — there is nowhere to put a perio pocket depth table or an ADA-compliant odontogram. We migrate clinical data as long-text notes or preserve it as unstructured reference text on the Contact or Activity record. Full clinical records should stay in a dental PMS; Freshsales becomes the contact and activity layer, not the clinical record.

  • Appointment type taxonomy does not map directly to Freshsales activity types

    tab32 appointment types include hygiene, perio maintenance, restorative, oral surgery, orthodontic, and emergency — each with sub-types and CDT-coded procedures attached. Freshsales Activities use generic task and event types with no dental taxonomy. We map appointment_type to a custom Freshsales custom activity type field and store the CDT code in a custom Procedure_Code__c field on the Activity. Without this custom field, appointment type is lost and Freshsales reports show undifferentiated activities.

  • Freshsales API rate limits require throttling during large migrations

    Freshsales does not publicly publish per-object API rate limits, but the platform applies throttling that can cause 429 (Too Many Requests) responses during bulk imports. For tab32 DSO setups with tens of thousands of patient records and appointment histories, we implement request throttling, exponential backoff retry logic, and batch-size tuning per object type. Without proactive rate-limit handling, migrations risk incomplete record transfers, 429 errors, and the need to rerun affected batches to ensure data completeness.

  • Recall scheduling and automated hygiene reminders have no Freshsales equivalent

    tab32's recall system tracks patient hygiene intervals (e.g., 6-month recall for perio maintenance patients) and generates automated reminders tied to those intervals. Freshsales has no recall or hygiene-interval model — there is no automated scheduling engine for patient follow-up in the CRM. We capture Recall_Frequency_Months__c and Next_Recall_Date__c as custom fields on the Contact so the cadence is preserved. Automated reminders require either Freshsales workflow rebuilds (limited) or a dedicated dental PMS.

Migration approach

Six steps for a successful tab32 to Freshsales data migration

  1. Connect both platforms and run a data audit

    We authenticate to tab32 via API and Freshsales via REST API, then pull a full inventory of record types, record counts, custom property definitions, and appointment history volume. The audit identifies which tab32 objects have Freshsales equivalents, which require custom field creation, and which have no destination model. This shapes the full migration specification before any data moves across platforms.

  2. Create Freshsales custom fields and resolve owner mapping

    We create the Freshsales custom fields identified in the audit phase before any records are loaded. This includes insurance fields, recall dates, CDT procedure codes, provider role, and clinical notes custom fields. tab32 providers are matched to Freshsales Users by email address — any provider without a matching Freshsales user is flagged for your team to provision accounts or assign a fallback owner before migration begins.

  3. Run a sample migration with field-level diff

    A representative slice — typically 100–500 patient records, appointments, and accounts — migrates first. We generate a field-level diff comparing source values in tab32 to destination values in Freshsales so you can verify appointment type mapping, insurance field population, provider resolution, and recall date preservation. Sample migration approval gates the full migration run and ensures data quality before committing the full record set.

  4. Execute full migration with delta-pickup window

    The full record set migrates from tab32 to Freshsales using scoped read access — your team continues working in tab32 throughout the migration run. A delta-pickup window (24–48 hours) at cutover captures any patient or appointment records created or modified during the migration. All operations are written to an audit log. One-click rollback is available if reconciliation fails and data integrity cannot be verified.

  5. Reconcile, validate, and hand off rebuild references

    We run a post-migration reconciliation report: record counts per object, custom field population rate, and unmatched owner count. tab32 workflow definitions and recall automation logic are exported as a rebuild reference document for your Freshsales admin. We provide a list of tab32 records that have no Freshsales equivalent (clinical imaging, tooth charts, claim history) so you can document what remains in the dental PMS.

Platform deep dives

Context on both ends of the pair

tab32 logo

tab32

Source

Strengths

  • Fully cloud-native on Google Cloud Platform with no server infrastructure required and no per-practice hardware footprint.
  • Purpose-built for DSO-scale multi-location management with centralized reporting, fee schedule normalization, and office-level permission structures.
  • Bundled patient engagement suite: two-way texting, automated reminders, e-forms, e-statements, and mobile payments in one platform without per-feature add-on pricing.
  • Open Data Warehousing API provides transparent access to the practice data warehouse for BI and analytics integrations.
  • AI voice charting and AI-driven perio exam dictation are first-to-market clinical features that reduce manual documentation burden.

Weaknesses

  • Support responsiveness lags at 24–48 hours for routine queries, making the platform difficult to use during onboarding and operational troubleshooting.
  • Steep learning curve even for technically sophisticated teams — one reviewer explicitly recommended competing platforms for better live training support.
  • Pricing lacks transparency with reported hidden add-on charges pushing realistic costs above advertised tiers, particularly at enterprise scale.
  • Poor feature discoverability in the UI means staff frequently cannot locate or configure capabilities they have paid for without external consulting help.
  • Customer reviews are sparse on major platforms, making independent evaluation difficult — the available reviews show a bimodal pattern of enthusiastic long-term users and frustrated switchers.
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 tab32 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

    tab32: Not publicly documented.

  • Data volume sensitivity

    A

    tab32 exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your tab32 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 tab32 to Freshsales data migrations

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

Can't find your answer?

Walk through your tab32 to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most tab32-to-Freshsales migrations complete in 48–72 hours of clock time for under 50,000 records. This window includes the sample migration run, the full migration run, and the delta-pickup window. Multi-location DSO setups with heavy appointment history, large custom property counts, or complex provider-to-user resolution extend to 5–7 days of total project time. The custom field creation step on the Freshsales side is typically the longest planning item.

Adjacent paths

Related migrations to explore

Ready when you are

Move from tab32.
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