CRM migration
Field-level mapping, validation, and rollback between DGL Practice Manager and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
DGL Practice Manager
Source
Freshsales
Destination
Compatibility
11 of 12
objects map 1:1 between DGL Practice Manager and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
DGL Practice Manager is a UK-based medical practice management system built for consultants, practice managers, and medical secretaries to manage Electronic Patient Records (EPR), appointment diaries, clinical procedures, billing, and compliance workflows. It stores patient demographics, clinical notes, appointment records, insurer billing data, and correspondence in a practice-centric data model optimized for healthcare delivery rather than sales pipeline management. Freshsales is a Freshworks CRM product targeting SMBs and mid-market sales teams, with standard objects for Leads, Contacts, Accounts, Deals, and custom objects. It uses lifecycle stages to track contact progression, deal pipelines with multiple stages and probability weights, and Freddy AI for lead scoring on Pro and Enterprise plans. The fundamental challenge of this migration is the domain gap: medical practice management and sales CRM use completely different object taxonomies. FlitStack AI maps DGL patients to Freshsales Contacts, referring practices to Accounts, and appointment records to Sales Activities (Tasks and Events). Clinical notes migrate as Notes attachments or custom fields. DGL's custom fields and billing configuration require Freshsales custom field creation. DGL's workflow automations and appointment rules do not migrate and must be rebuilt in Freshsales using workflows and territory assignment rules. The migration runs via API reads from DGL's export format into Freshsales Contacts, Accounts, and custom objects, with a delta-pickup window capturing any records created 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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a DGL Practice Manager 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.
DGL Practice Manager
Patient Record
Freshsales
Contact
1:1DGL patient records map directly to Freshsales Contacts. Patient name fields translate to FirstName and LastName. DGL stores one primary contact per patient; Freshsales Contacts similarly hold person-level records. Original patient create dates preserve as a custom datetime field since Freshsales CreatedDate reflects migration time.
DGL Practice Manager
Patient Address
Freshsales
Contact (Address Fields)
1:1DGL patient address fields (address_line1, address_line2, city, postcode, country) map to Freshsales Contact address fields. Freshsales supports multi-line address storage on Contact records with city, state, zip, and country fields natively. During migration, FlitStack AI validates each address component, ensuring that postal codes conform to Freshsales format requirements. If any required address fields are missing, the system flags them for correction prior to final import, preventing incomplete contact records.
DGL Practice Manager
Patient Phone / Email
Freshsales
Contact (Phone, Mobile Number, Email)
1:1DGL patient phone numbers and email addresses migrate to Freshsales Contact Phone, Mobile Number, and Email fields. Freshsales validates email format during import; invalid emails are flagged for correction before the full migration commits. FlitStack AI also checks phone number formats against international standards, converting local formats to E.164 when necessary to ensure compatibility with Freshsales telephony integration.
DGL Practice Manager
Consultant / Practitioner
Freshsales
Account
1:1DGL consultant or practitioner records map to Freshsales Accounts when the practice structure includes multiple practitioners. Each consultant diary becomes a Freshsales Account record with the consultant name as the Account Name and specialty as a custom field. If the practice uses sub-consultants or team leads, FlitStack AI can create hierarchical Account relationships to reflect reporting structures within Freshsales.
DGL Practice Manager
Appointment Record
Freshsales
Event / Task
1:1DGL appointment diary entries (appointment date, time, duration, appointment type) translate to Freshsales Events with start_time, end_time, and event title. Completed appointments or follow-up tasks map to Freshsales Tasks with due dates and task types derived from the appointment status in DGL.
DGL Practice Manager
Clinical Note
Freshsales
Note / Attachment
1:1DGL clinical notes and consultation summaries migrate as Freshsales Notes attached to the corresponding Contact record. Original note timestamps and practitioner ownership are preserved in the Freshsales Note metadata. Rich-text formatting is converted to plain text if the target field does not support HTML.
DGL Practice Manager
Insurance / Billing Record
Freshsales
Custom Field on Contact / Deal
1:1DGL insurer billing data (insurer name, policy number, claim status, invoice amount) requires Freshsales custom fields on Contact or Deal objects. These fields do not map to standard Freshsales objects and must be created before migration. Invoice submission history migrates as custom text fields or a linked custom object if the practice requires detailed billing tracking.
DGL Practice Manager
Referral Source
Freshsales
Custom Field on Contact
1:1DGL referral source tracking (referring practitioner, referral date, referral type) migrates as Freshsales custom fields on Contact. If DGL uses a structured referral source pick-list, the values map to a Freshsales custom pick-list with value-by-value translation to maintain reporting continuity.
DGL Practice Manager
Correspondence / Letter Template
Freshsales
Email Template (Reference Only)
1:1DGL correspondence templates and patient letters do not migrate to Freshsales as functional templates because Freshsales email templates use different merge field syntax. We export the template content as a Note attachment on the Contact record for reference; your team rebuilds them as Freshsales email templates post-migration.
DGL Practice Manager
DGL User / Practitioner Owner
Freshsales
Freshsales User (Owner)
1:1DGL user and practitioner accounts resolve to Freshsales Users by email match. Unmatched practitioners are flagged before migration — your team either creates Freshsales users first or assigns records to a fallback owner. Owner assignment on Contacts, Accounts, and Events preserves the practitioner responsible for each patient record.
DGL Practice Manager
Practice Location / Clinic
Freshsales
Account (Business Account)
many:1DGL clinic or practice location records merge into Freshsales Accounts when multiple practitioners share a single clinic. The practice location name becomes the Account Name, and location-specific custom fields (clinic address, phone) map to corresponding Account fields. Individual practitioners within that clinic become Contacts linked to the clinic Account.
DGL Practice Manager
Workflow / Automation Rule
Freshsales
Freshsales Workflow
1:1DGL workflow automations, appointment reminders, and clinical procedure triggers do not migrate. These must be rebuilt in Freshsales using the Workflows module (available on Growth and above). We export DGL workflow definitions as a structured reference document for your Freshsales admin to use during the rebuild phase.
| DGL Practice Manager | Freshsales | Compatibility | |
|---|---|---|---|
| Patient Record | Contact1:1 | Fully supported | |
| Patient Address | Contact (Address Fields)1:1 | Fully supported | |
| Patient Phone / Email | Contact (Phone, Mobile Number, Email)1:1 | Fully supported | |
| Consultant / Practitioner | Account1:1 | Fully supported | |
| Appointment Record | Event / Task1:1 | Fully supported | |
| Clinical Note | Note / Attachment1:1 | Fully supported | |
| Insurance / Billing Record | Custom Field on Contact / Deal1:1 | Fully supported | |
| Referral Source | Custom Field on Contact1:1 | Fully supported | |
| Correspondence / Letter Template | Email Template (Reference Only)1:1 | Fully supported | |
| DGL User / Practitioner Owner | Freshsales User (Owner)1:1 | Fully supported | |
| Practice Location / Clinic | Account (Business Account)many:1 | Fully supported | |
| Workflow / Automation Rule | Freshsales Workflow1: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.
DGL Practice Manager gotchas
Per-invoice insurer submission charges inflate costs silently
Extortionate data extraction fee creates lock-in barrier
No public API means migration relies on DGL's goodwill
SQL infrastructure update in progress may alter the schema
Document generation depends on Microsoft Word on the local machine
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 DGL data export and map to Freshsales schema
FlitStack AI begins by analyzing your DGL export — patient records, appointment diaries, clinical notes, insurer billing data, and consultant accounts. We identify which DGL fields map directly to Freshsales Contacts, Accounts, and Events, and which require custom field creation. Your team approves the field mapping plan before any data moves, ensuring Freshsales custom fields are created first so the import can write to them correctly.
Create Freshsales custom fields for clinical and billing data
Before migration runs, your Freshsales admin (or our team) creates the custom fields required for DGL data that has no standard Freshsales equivalent — insurer names, policy numbers, referral sources, original patient create dates, and clinical note metadata. This includes defining pick-list values for referral sources and insurer names to match DGL's existing data exactly, preventing import errors from mismatched pick-list values.
Resolve practitioner owners by email match
DGL practitioner and consultant accounts are matched to Freshsales Users by email address. FlitStack AI generates an owner mapping report showing which DGL practitioners have matching Freshsales users and which do not. Unmatched practitioners require Freshsales user creation or fallback owner assignment before migration — no Contact, Account, or Event lands in Freshsales without an OwnerId. Accurate owner mapping also ensures that future task assignments and sales credit calculations follow the correct practitioner.
Run sample migration with field-level verification
A representative slice of patient records (typically 100–500) migrates first, spanning patients, appointments, clinical notes, and billing data. FlitStack AI generates a field-level diff report comparing source DGL values against Freshsales imported values so you can verify custom field population, appointment date accuracy, and owner assignment before the full run commits. Any discrepancies uncovered during this phase can be corrected before the full data load, reducing risk of data loss.
Execute full migration with delta-pickup window
The full migration runs against Freshsales, writing all patient records, consultant accounts, appointment events, clinical notes, and billing data. A 24–48 hour delta-pickup window captures any records created or modified in DGL during the cutover period. FlitStack AI generates an audit log of every record written, and one-click rollback is available if reconciliation identifies data integrity issues. All imported records are validated against Freshsales field constraints to prevent failures.
Deliver migration artifacts and rebuild reference guide
After migration, FlitStack AI delivers a complete field mapping manifest, an owner assignment report, a list of custom fields created, and a DGL workflow export document. This gives your Freshsales admin everything needed to rebuild appointment reminder rules and correspondence templates in Freshsales Workflows. The delta-pickup audit log confirms final record counts against DGL source totals. These artifacts also serve as a training resource for new Freshsales users joining the practice.
Platform deep dives
DGL Practice Manager
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across DGL Practice Manager and Freshsales.
Object compatibility
1 of 8 objects need a manual workaround.
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
DGL Practice Manager: Not publicly documented.
Data volume sensitivity
DGL Practice Manager 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 DGL Practice Manager to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your DGL Practice Manager 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 DGL Practice Manager
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.