CRM migration
Field-level mapping, validation, and rollback between Cirqll and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Cirqll
Source
Freshsales
Destination
Compatibility
7 of 8
objects map 1:1 between Cirqll and Freshsales.
Complexity
BStandard
Timeline
1-2 weeks
Overview
Moving from Cirqll to Freshsales is a lateral migration in object shape but a significant step up in API maturity and automation capability. Cirqll organizes around Customers, Leads, Tasks, Activities, Notes, and Calendar Events; Freshsales maps these directly to Contacts, Leads, Tasks, Activities, Notes, and Events with the addition of Accounts, Deals, and a built-in telephony model. We sequence the load in dependency order — Contacts and Accounts first, then Leads, then Activities and Tasks — and we chunk all API calls to stay under Cirqll's 100 requests-per-minute ceiling while respecting Freshsales's tiered hourly limits (1,000 to 5,000 per hour depending on plan). Document blobs stored in Cirqll require a secondary pass as binary re-attachments. Workflows, sequences, and automation rules do not migrate; we deliver a written inventory of any Cirqll automation for the customer's admin to rebuild in Freshsales's visual workflow builder.
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 Cirqll 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.
Cirqll
Customer
Freshsales
Contact or Account + Contact (split required)
1:manyCirqll Customers map to Freshsales Contacts by default. For Customers with multiple associated contacts (e.g., a company with several sales reps), we create a Freshsales Account as the parent company record and attach each contact person as a separate Contact linked to that Account. The Customer name becomes either the Contact display name (single-person account) or the Account name (multi-person organization). We use email as the dedupe key during import and preserve the original Customer ID in a custom field cirqll_customer_id__c.
Cirqll
Lead
Freshsales
Lead
1:1Cirqll Leads migrate directly to Freshsales Lead records. Lead qualification status, source attribution, owner assignment, and creation timestamp transfer as-is. We map Cirqll's lead stage property to Freshsales Lead Status using the destination's standard status values. Any Cirqll lead scoring or rating values preserve in custom fields cirqll_lead_score__c and cirqll_rating__c.
Cirqll
Task
Freshsales
Task
1:1Cirqll Tasks migrate to Freshsales Tasks with Status, Priority, Due Date, and Owner preserved. Open and completed task states carry forward. Task assignment resolves by matching the Cirqll owner email against the Freshsales User table; any unresolved owners enter a reconciliation queue for the customer's admin to provision before record import resumes.
Cirqll
Activity
Freshsales
Task (Engagement) or Event
1:1Cirqll Activities (calls, emails, meetings) map to Freshsales Task records with TaskSubtype set to Call, Email, or Meeting. Activity timestamps, duration fields, and related Contact or Lead associations preserve. Meeting activities with attendees map to Freshsales Event records with attendee EventRelation records. We chunk activity batches to respect Cirqll's 100 requests-per-minute rate limit during extraction.
Cirqll
Note
Freshsales
Note
1:1Cirqll free-text Notes attached to Contacts or Leads migrate as Freshsales Notes linked to the parent record via ContentDocumentLink. Note body and creation timestamp preserve. Rich-text formatting in Cirqll notes migrates as-is where the source data supports it.
Cirqll
Calendar Event
Freshsales
Event
1:1Cirqll Calendar Events migrate to Freshsales Event with StartDateTime, EndDateTime, Subject, Location, and attendee list preserved. All-day event flags and recurrence patterns require field-level mapping because Freshsales handles all-day events via the IsAllDayEvent flag and recurrence requires a custom recurrence rule field.
Cirqll
Document
Freshsales
ContentDocument
1:1Documents stored in Cirqll are binary blobs that do not export via the standard API endpoints. We handle these as a secondary pass using a download-and-reupload workflow: we extract files from Cirqll (where accessible), preserve original filenames and upload timestamps, and reattach them to the corresponding Contact or Lead record in Freshsales via the ContentVersion + ContentDocumentLink pattern. This pass runs after all structured record migration is validated.
Cirqll
User
Freshsales
User
1:1Cirqll User accounts referenced on Leads, Tasks, and Activities migrate as owner mappings in Freshsales. We resolve by email match. Active versus inactive status carries forward. Role-based permissions do not transfer because Freshsales permissions are destination-org-specific and require configuration by the customer's admin.
| Cirqll | Freshsales | Compatibility | |
|---|---|---|---|
| Customer | Contact or Account + Contact (split required)1:many | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Activity | Task (Engagement) or Event1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Calendar Event | Event1:1 | Fully supported | |
| Document | ContentDocument1:1 | Fully supported | |
| User | User1: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.
Cirqll gotchas
100 requests per minute API rate limit
Sparse API schema documentation
Document blob handling requires separate pass
No public pricing — tier limits unknown
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
Scoping and plan verification
We audit the Cirqll account for record counts across all object types (Customers, Leads, Tasks, Activities, Notes, Calendar Events), identify any document storage, and confirm the customer's target Freshsales plan tier. We verify API access availability (Blossom or above required) and flag the document blob limitation. The scoping output is a written migration scope document with object-level record counts, a mapping table, and the confirmed Freshsales plan tier.
Schema mapping and Freshsales field design
We design the Freshsales destination schema before any data moves. This includes creating any custom fields required to preserve Cirqll properties that have no native Freshsales equivalent (e.g., cirqll_customer_id__c, cirqll_lead_score__c). We configure Lead Status values, Task priorities, and Activity type picklists to match Cirqll's enumerations. If the customer requests Account objects from multi-person Customers, we design the Account-to-Contact parent structure during this phase.
Owner reconciliation and User provisioning
We extract every distinct Cirqll owner referenced on Leads, Tasks, and Activities and match by email against the Freshsales User table. Any owner without a matching Freshsales User enters a reconciliation queue. The customer's admin provisions missing Users (active or inactive per the original Cirqll status) before record import begins. Migration cannot proceed past this step because OwnerId references are required on Leads and Tasks in Freshsales.
Sandbox migration and validation
We run a full migration into the customer's Freshsales Sandbox environment using production-equivalent data volume. The customer reviews record counts (Contacts, Leads, Tasks, Activities, Notes), spot-checks 20-30 records for field-level accuracy, and approves the mapping before production migration begins. Any field mapping corrections happen here, not in production.
Production migration in dependency order
We run production migration in dependency order: Users (validated), Accounts (if creating from multi-person Customers), Contacts (from Customers, with AccountId resolved), Leads (with email dedupe applied), Tasks (with OwnerId resolved), Activities (chunked to respect both Cirqll's 100/min pull limit and Freshsales's tiered hourly write ceiling), Notes, Calendar Events, and Documents (secondary pass). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation inventory handoff
We freeze Cirqll writes during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver a written inventory of any Cirqll automation or task-reminder configurations that require rebuild in Freshsales's workflow builder. We support a one-week hypercare window for reconciliation issues. We do not rebuild Cirqll automations as Freshsales workflows as part of the migration scope.
Platform deep dives
Cirqll
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 Cirqll 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
Cirqll: 100 requests per minute per client (confirmed via docs.api.cirqll.nl/rate-limiting).
Data volume sensitivity
Cirqll 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 Cirqll to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Cirqll 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 Cirqll
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.