CRM migration

Migrate from Perfect Portal to Freshsales

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

Perfect Portal logo

Perfect Portal

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between Perfect Portal and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Perfect Portal organizes client-facing matter tracking — contacts, matter records, stage progressions, third-party referrers, and attached documents. Freshsales models the same entities using Lead, Contact, Account, Deal, and Sales Activity objects with its own lifecycle stage and pipeline conventions. The migration carries all contact records, matter records, stage history, third-party data, and file attachments into Freshsales, creating accounts for each matter's primary client and deals keyed to the matter's business type. Freshsales does not have a native matter-stage equivalent — we translate each Perfect Portal stage into a Freshsales deal custom field so stage-progress history survives in the destination. Any Perfect Portal workflow logic, stage-update automations, or client-portal notification rules cannot be transferred because Freshsales Workflows operate on different triggers and conditions. These must be rebuilt in Freshsales using its own automation builder. The migration runs via API read access on Perfect Portal and bulk upsert into Freshsales, with a 24–48 hour delta window capturing any changes made during the cutover window.

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

Perfect Portal logo

Perfect Portal

What's pushing teams away

  • Perfect Portal does not appear to offer a public API or bulk data export mechanism, making self-service migration difficult and requiring manual or vendor-assisted extraction.
  • Cloud-based storage of privileged client matter data introduces data residency and confidentiality concerns that some firms find difficult to accept, particularly around third-party access.
  • The portal is a bolt-on product tightly coupled to its host practice management system, limiting flexibility if the firm wants to switch underlying PMS providers.
  • Per-matter pricing for client access can scale unpredictably as the firm grows, with no published tiered discount structure for high-volume practices.

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

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

Perfect Portal

Client

maps to

Freshsales

Contact

1:1
Fully supported

Perfect Portal clients map directly to Freshsales Contacts. The primary matter association becomes the AccountId lookup after the Account is created. Clients without an assigned matter default to a standalone Contact record in Freshsales. During the migration, each matter's client creates an Account record in Freshsales, and the Contact's AccountId field points to that Account. If a client is linked to multiple matters, first matter processed determines the Account linkage.

Perfect Portal

Client (referrer type)

maps to

Freshsales

Contact

1:1
Fully supported

Referrers (agents, lenders, third parties) stored as separate client records in Perfect Portal map to Freshsales Contacts. A custom field Referral_Source__c identifies the referral relationship in Freshsales, since Freshsales has no native referrer object. This field stores the referrer type (Agent, Lender, Other) and can be used to filter deals by referral source. If referrers are linked to a matter, each appears as a separate Contact with same Referral_Source__c value.

Perfect Portal

Matter

maps to

Freshsales

Deal

1:1
Fully supported

Each Perfect Portal matter becomes a Freshsales Deal. The matter name becomes the Deal name; the matter type determines which Freshsales pipeline the deal is assigned to. Matter stage progression is stored as a custom field (Matter_Stage_History__c) since Freshsales does not natively track multi-stage history beyond deal stage.

Perfect Portal

Matter Stage

maps to

Freshsales

Deal Stage + Custom Field

1:1
Fully supported

Perfect Portal stage values (Inquiry, Engaged, Document Review, Settlement, Closed) map to Freshsales Deal Stage names per pipeline. Stage-entered timestamps are stored as a custom field (Stage_Entered_Date__c) on the deal record for audit continuity. Each pipeline has its own stage names; the mapping aligns Perfect Portal stage labels to the corresponding Freshsales stage. Stage_Entered_Date__c records the date and time the matter entered its current stage for reporting.

Perfect Portal

Matter Type

maps to

Freshsales

Deal Pipeline

1:1
Fully supported

When Perfect Portal uses multiple matter types (e.g., Purchase, Refinance, Litigation), each type maps to a separate Freshsales Deal Pipeline. Freshsales Pro and Enterprise plans allow multiple pipelines; Growth plan has one pipeline by default. If you are on the Growth plan and require multiple pipelines, you must upgrade to Pro or Enterprise before migration, otherwise matter types are consolidated into a single pipeline using a custom field filter.

Perfect Portal

Third-Party Referrer

maps to

Freshsales

Contact + Custom Field

1:1
Fully supported

Referrers associated with a matter are stored as Contact records with a custom referrer-type field and linked to the deal via a custom deal field (Referrer_Contact_Id__c). This preserves the referral relationship without a native equivalent in Freshsales. The referrer-type field stores the role (Agent, Lender, Other) for segmentation, and the deal field holds the contact ID for referral reporting. Multiple referrers on a matter appear as separate Contacts with role.

Perfect Portal

Attachment / Document

maps to

Freshsales

File

1:1
Fully supported

Matter documents are downloaded and re-uploaded as Freshsales Files attached to the corresponding Deal, Contact, or Account record. File naming preserves the original matter document title for traceability. During upload, we keep the original file extension and set ownership to the Freshsales user who owned the matter, preserving attribution. If the file exceeds storage limits, we alert your admin to consider archiving or upgrading.

Perfect Portal

Matter Note / Communication Log

maps to

Freshsales

Sales Activity / Note

1:1
Fully supported

Communication logs and notes in Perfect Portal migrate as Freshsales Sales Activities (type: Note) or Notes objects. Original timestamps and author information are preserved on the activity record. Each activity is linked to the parent Deal, Contact, or Account based on matter context, so communication history appears in the relevant record. If the author email does not match a Freshsales user, the activity is assigned to a migration user.

Perfect Portal

Custom Field (matter-level)

maps to

Freshsales

Custom Field on Deal

1:1
Fully supported

Perfect Portal custom fields at the matter level are created as custom fields on the Freshsales Deal object. Field type is mapped (text, number, date, picklist) to the nearest Freshsales field type. Picklist custom fields require value-by-value mapping. Before migration, we verify each custom field's data type and create the Freshsales field, applying validation rules. During import, data is transformed to match the format, ensuring loss of information is avoided.

Perfect Portal

Owner / Assigned User

maps to

Freshsales

User (resolved by email)

1:1
Fully supported

Perfect Portal user assignments resolve by email match against Freshsales users. Unmatched owners are flagged before migration — your team either invites them to Freshsales or assigns records to a fallback user. No record lands without a valid Freshsales owner.

Perfect Portal

Workflow / Automation

maps to

Freshsales

Not Migrated

1:1
Fully supported

Perfect Portal stage-update triggers and client notification workflows do not have an equivalent in Freshsales. These must be rebuilt in Freshsales Workflows after migration. FlitStack exports the workflow definitions as a reference document for your admin. During discovery, we capture trigger events, conditions, and actions for each workflow, so your Freshsales admin can rebuild them using Freshsales Workflow's trigger‑action model. This documentation includes sample configurations for common stage‑change notifications.

Perfect Portal

Portal Access Permission

maps to

Freshsales

Not Migrated

1:1
Fully supported

Perfect Portal grants referrers and clients portal access to view matter status. Freshsales has no native client/referrer portal equivalent. External sharing links or Freshsales customer portal setup (Freshsales Suite) must be configured post-migration. If you require real‑time visibility, consider enabling Freshsales Suite's customer portal, which provides a branded portal for clients and referrers to track deal status. Alternatively, you can generate secure sharing links per record for on‑demand access.

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.

Perfect Portal logo

Perfect Portal gotchas

High

No public API or documented export endpoint

High

Third-party access complicates data residency and privilege

Medium

Matter stages are defined per-firm and non-standardised

Low

SMS notification logs are not independent records

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

  • Matter stage history has no native Freshsales equivalent

    Perfect Portal tracks the full history of stage transitions for each matter — which stage was entered, when, and by whom. Freshsales Deal records have a single current stage value with no native audit trail of prior stages. We solve this by storing the complete stage transition log as a custom long-text field (Matter_Stage_History__c) on each deal. Stage-enter timestamps are also preserved individually as Stage_Entered_Date__c. Without this, your reporting would only show the current stage and lose the historical progression that matters for compliance and commission-tracking purposes.

  • Referrer commission tracking requires custom field setup

    Perfect Portal allows referrers (real estate agents, lenders) to track commission status tied to matter stages — referrers are notified when stages that trigger commission eligibility are reached. Freshsales has no native referrer object and no commission-tracking field. We map referrers to Contacts with a custom Referral_Type__c field and commission status to a custom text field on the deal. Any automated commission notification logic from Perfect Portal must be rebuilt as Freshsales Workflows triggered on deal stage change.

  • Growth plan limits matter-type to one Freshsales pipeline

    Freshsales Growth plan ($9/user/month) supports a single deal pipeline. Perfect Portal setups that use multiple matter types (e.g., Purchase, Refinance, and Litigation as separate matter categories) need separate pipelines to map each matter type cleanly. If you are on the Growth plan, you must either upgrade to Pro or Enterprise (which support multiple pipelines) before migration, or consolidate matter types into a single pipeline using a Matter_Type__c custom field filter. We flag this during discovery so the pipeline count decision is made before data lands.

  • Client portal access and third-party sharing do not transfer

    Perfect Portal grants clients and referrers direct portal access to view matter status in real time. Freshsales has no native client or referrer portal — the closest equivalent is Freshsales Suite's customer portal or external sharing links, both of which require post-migration configuration. We preserve the referrer contact relationship in Freshsales, but the portal-access functionality must be rebuilt. Your team will need to set up Freshsales external sharing or evaluate the Freshsales Suite customer portal separately.

  • Per-matter billing data does not map to a Freshsales object

    Perfect Portal charges a per-matter fee in addition to the monthly subscription — this is a billing construct unique to Perfect Portal's pricing model. Freshsales does not track per-record billing. We preserve the matter-value field (the financial value of the matter) in the Freshsales deal, but the per-matter cost accounting has no equivalent in Freshsales CRM. This should be tracked in your billing or accounting system post-migration. If you need to retain per-matter billing history for reporting, you can store the per-matter fee amount in a custom numeric field on the deal and reconcile it with your accounting system after go-live.

Migration approach

Six steps for a successful Perfect Portal to Freshsales data migration

  1. Discover Perfect Portal data model and matter types

    FlitStack connects via API read access to your Perfect Portal account and inventories all matter types, client records, referrer records, attachments, stage configurations, and custom fields. We build a schema inventory document that identifies every object and field to migrate, flagging any matter type that requires a separate Freshsales pipeline or custom field. This discovery output is shared with your team before any data movement begins.

  2. Configure Freshsales pipelines and custom fields

    Before data moves, your Freshsales admin (or our team) creates the deal pipelines, custom fields, and contact type pick-lists needed for the migration. We deliver a Freshsales setup plan based on the Perfect Portal matter-type inventory — if you have three matter types, we specify three Freshsales pipelines with stage names aligned to each. Custom fields (Matter_Stage_History__c, Referrer_Type__c, Stage_Entered_Date__c, Source_System_ID__c) are created at this stage.

  3. Resolve referrers and matter owners by email

    Perfect Portal referrer contacts and matter-assigned users are matched against Freshsales contacts and users by email address. Unmatched referrers are created as Freshsales contacts with the custom referrer type field. Unmatched matter owners are flagged for your team to either invite to Freshsales or assign to a fallback user. No deal lands without a valid Freshsales owner. Fallback assignments default to a designated migration admin user until a permanent owner is assigned. All email mismatches are logged for review before the final migration run.

  4. Migrate contacts and referrers before deals

    Freshsales requires Contacts to exist before Deals can reference them (via deal contact associations). We sequence the migration so client contacts and referrer contacts land first, then matter records are created as Deals with the matter-to-contact and matter-to-account links resolved. Attachments and communication logs are migrated after the parent records are in place. We also verify referrer links on each deal to ensure commission tracking fields are populated before attachments are uploaded. This prevents orphaned files and ensures data integrity across the entire Freshsales instance.

  5. Run sample migration with field-level diff

    A representative slice — typically 100–500 records spanning client contacts, referrer contacts, deals across matter types, and attachments — migrates first. We generate a field-level diff showing source values against destination values so you can verify stage mapping, referrer field population, owner resolution, and custom field accuracy before the full run commits. Approval of the sample is required before the full migration proceeds.

  6. Cut over with delta-pickup and audit log

    The full migration runs against Freshsales. A delta-pickup window (typically 24–48 hours) captures any matter updates or new client records created in Perfect Portal during the cutover. Every operation is recorded in an audit log. One-click rollback is available if reconciliation identifies data gaps. After go-live, your team configures Freshsales Workflows for any notification or commission-trigger logic that was identified during discovery.

Platform deep dives

Context on both ends of the pair

Perfect Portal logo

Perfect Portal

Source

Strengths

  • Purpose-built for law firm matter-stage visibility with configurable workflow stages.
  • Built-in SMS notification automation tied to stage completion events.
  • Third-party referrer access and commission transparency without additional software.
  • Clean client-facing portal that reduces inbound status calls to the firm.
  • Linked to practice management system so matter data is not duplicated manually.

Weaknesses

  • No documented public API for automated data extraction or migration tooling.
  • Tightly coupled to the host practice management system; switching PMS may break or require reconfiguration of the portal.
  • Third-party access to privileged matter data creates confidentiality governance overhead.
  • Per-matter client pricing lacks transparency and may not scale cost-effectively for high-volume firms.
  • Data residency and security controls for confidential legal matter data in a cloud portal are not publicly documented.
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 Perfect Portal 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

    Perfect Portal: Not publicly documented.

  • Data volume sensitivity

    B

    Perfect Portal doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Perfect Portal to Freshsales migrations complete in 48–72 hours for up to 50,000 records. Larger datasets with multiple matter types, extensive referrer records, or large attachment volumes extend to 5–7 days. The longest planning step is mapping matter types to Freshsales pipelines and defining the stage name translation table before data movement begins. During the migration, a 24–48 hour delta capture ensures any updates made in Perfect Portal after the initial export are also imported into Freshsales before final go‑live, minimizing data gaps.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Perfect Portal.
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