CRM migration

Migrate from Agillic to Freshsales

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

Agillic logo

Agillic

Source

Freshsales

Destination

Freshsales logo

Compatibility

63%

5 of 8

objects map 1:1 between Agillic and Freshsales.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Agillic and Freshsales serve different functions: Agillic is a Nordic omnichannel marketing automation platform built around a fully customisable Recipient data model with real-time audience activation across email, SMS, push, print, and paid media; Freshsales is a Sales CRM from the Freshworks suite, purpose-built for SMB sales teams with built-in phone, email, Freddy AI lead scoring, and deal pipeline management. The migration is not a like-for-like platform swap — it is a repositioning from a marketing-centric data model to a sales-cycle data model. We export Agillic Recipients and their Activity logs, enumerate every active custom recipient property during discovery (Agillic permits arbitrary schema with no fixed field list), and map each into Freshsales Contact custom fields. Agillic Flows (campaign automation) do not migrate as code; they require reimplementation in Freshsales Workflows. Global Data Tables from Agillic map to Freshsales custom objects if the destination plan supports them. We do not migrate Templates, Content Blocks, or paid media audience definitions as portable assets.

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

Agillic logo

Agillic

What's pushing teams away

  • Rate limits and API quotas are not publicly documented, creating uncertainty for teams planning large-scale data migrations or integrations.
  • The platform's heavy reliance on developer configuration for data synchronisation, custom flow elements, and content templates means marketing teams without technical support encounter bottlenecks.
  • Complex workflow logic built by developers becomes difficult for non-technical marketers to modify independently, limiting operational agility.
  • Exporting Activity data requires external analysis tools; Agillic itself lacks built-in advanced analytics dashboards for post-campaign insight generation.

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

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

Agillic

Recipient

maps to

Freshsales

Contact

1:1
Fully supported

Agillic Recipients map to Freshsales Contacts as the primary person record. Every standard field (email, first name, last name, phone, address) migrates directly. Custom recipient properties enumerate during discovery and map to Freshsales Contact custom fields, which we create before ingestion. Email address serves as the dedupe key during import.

Agillic

Recipient

maps to

Freshsales

Lead

1:many
Fully supported

Recipients that represent unqualified prospects (those flagged as marketing-acquired or without a closed deal in Agillic) map to Freshsales Lead. We define the split rule during scoping based on the customer's acquisition source fields and lifecycle flags. The original Agillic recipient properties preserve as custom fields on both Contact and Lead for audit.

Agillic

Activity Log

maps to

Freshsales

Task

1:1
Fully supported

Agillic Activity records (email sends, opens, clicks, bounces, SMS deliveries) map to Freshsales Task records. Each Activity type becomes a Task with TaskSubtype set to Email or Call as appropriate, and the original Agillic Activity timestamp preserved as ActivityDate. We migrate Activity history via the Freshworks Bulk API to handle large volumes without timing out.

Agillic

Activity Log (Meeting/Event)

maps to

Freshsales

Event

1:1
Fully supported

Agillic event-triggered Activity records with a timestamp map to Freshsales Event. StartDateTime and EndDateTime are set from the Agillic event timestamp. Attendees link to the corresponding Contact or Lead via EventRelation records.

Agillic

Flow

maps to

Freshsales

Workflow

lossy
Fully supported

Agillic Flows (campaign automation logic) do not export as portable definitions. We export Flow names, associated trigger events, and Flow Execution IDs from Activity history, then deliver a written inventory of every active Flow with its trigger, conditions, and a recommended Freshsales Workflow equivalent. The customer's admin rebuilds the automation logic in Freshsales Workflows post-migration.

Agillic

Global Data Table

maps to

Freshsales

Custom Object

1:1
Fully supported

Agillic Global Data Tables are custom relational data structures referenced within Flows. Each table's schema and all row data migrate to a Freshsales Custom Object (available on Growth plan and above). We create the custom object schema, including all fields and lookup relationships, before ingesting row data. The customer's admin configures any Freshsales Workflow triggers against the custom object post-migration.

Agillic

Profile

maps to

Freshsales

Contact

1:1
Fully supported

Agillic Profiles aggregate all known data about a recipient across touchpoints. We treat Profile data as equivalent to the Recipient record enriched with Activity attributes and custom data. The enriched attributes land as custom fields on the Freshsales Contact.

Agillic

Export Settings

maps to

Freshsales

Freshsales Import Configuration

lossy
Mapping required

Agillic Export Settings control file format (delimiter, date format, timestamp format). We document the client's current export format configuration and match it to Freshsales CSV import requirements during ingestion. Date format alignment is the most common adjustment point.

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.

Agillic logo

Agillic gotchas

High

Undocumented API rate limits complicate bulk migration planning

High

Fully custom schema requires mandatory field enumeration during discovery

Medium

Flows are not exportable as portable workflow definitions

Medium

Activity Export requires explicit Flow Execution ID enablement

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

  • Custom recipient schema must be fully enumerated before mapping begins

    Agillic permits clients to define arbitrary custom properties on Recipients with no fixed field list and no single documented list of all possible fields. Each client's schema is unique. We cannot design the Freshsales custom field schema until we have enumerated every active recipient property via the Recipient API or a Recipients Export. If a field is missed, the data for that attribute is silently lost during migration. We require the client to provide a complete export of all recipient fields during discovery before we begin schema design in Freshsales.

  • Flow Execution IDs require explicit enablement in Agillic Export Settings

    The Flow Execution ID — which ties Activity records to specific campaign runs — is not included in Activity Exports by default. It must be explicitly enabled under Settings > System Settings > Export > Activity Exports. If this setting is off during the export window, we lose the ability to link activity history to specific Agillic Flows, making journey reconstruction impossible in Freshsales. We check this setting during discovery and request the client enables it before exporting historical Activity data.

  • Agillic Flows cannot be exported and must be rebuilt in Freshsales

    Agillic Flows are stored as internal execution configurations with no documented export endpoint to retrieve flow logic as a portable file. We export Flow names, trigger events, and Activity history with Flow Execution IDs, but the actual branching logic, conditions, and wait-step configurations require manual reimplementation in Freshsales Workflows. This is not a migration step — it is a separate rebuild effort that we scope and document for the customer's admin team.

  • Freshsales custom objects require Growth plan or above

    Global Data Tables in Agillic map to Freshsales Custom Objects, which are available on the Growth plan ($9/user/month) and above. If the destination Freshsales account is on the Free plan, custom objects are not available. We confirm the destination plan during scoping and either upgrade the plan or propose an alternative mapping (for example, storing Global Data Table data as JSON in a long-text custom field on Contact) before beginning migration.

Migration approach

Six steps for a successful Agillic to Freshsales data migration

  1. Discovery and recipient schema enumeration

    We audit the Agillic instance: enumerate all active recipient properties via Recipient API and Recipients Export, confirm which custom fields are in use versus deprecated, extract Activity history spanning the customer's full data-retention window, list all active Flows with their triggers and conditions, and inventory Global Data Tables with schemas and row counts. We confirm whether Flow Execution ID is enabled in Export Settings. The discovery output is a complete recipient field catalogue, Activity export specification, and Global Data Table schema inventory.

  2. Freshsales plan and custom field schema design

    We confirm the destination Freshsales plan (Free/Growth/Pro/Enterprise) and design the Freshsales custom field schema to match the Agillic recipient field catalogue. Custom recipient properties map to Freshsales Contact custom fields of the equivalent type (text, number, date, checkbox, picklist). If Global Data Tables exist and the plan supports custom objects, we design the custom object schema with lookup relationships to Contact. Schema deploys into a Freshsales trial or sandbox for validation before production migration.

  3. Custom field creation and Freshsales trial validation

    We create all custom fields on the Contact object (and custom objects for Global Data Tables) in Freshsales. We run a sample migration of 50-100 Agillic Recipients into Freshsales Contacts to validate field type mappings, dedupe key behaviour, and custom field rendering. The customer spot-checks the sample data against the Agillic source before we proceed to full migration.

  4. Full recipient and contact migration

    We migrate all Agillic Recipients to Freshsales Contacts in dependency order. Accounts (derived from recipient company or domain fields) import first if the customer uses company-level segmentation. Contacts import second with the dedupe key (email) enforced to prevent duplicates. Any recipient-to-Lead split rule runs as the split transform at import time, creating Lead records for unqualified prospects. Custom fields populate from the Agillic custom recipient properties per the discovery enumeration.

  5. Activity history migration via Bulk API

    We migrate Agillic Activity history to Freshsales Tasks and Events via the Freshworks Bulk API. Each Activity record resolves its parent Contact by email match, creates the Task or Event with the original timestamp, and preserves the activity type and Flow Execution ID in custom fields. Large-volume Activity exports use batch chunking with exponential backoff to handle Freshworks API rate limits.

  6. Cutover, validation, and Flow rebuild handoff

    We freeze Agillic writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Freshsales as the system of record. We deliver the Flow inventory document listing every Agillic Flow with its trigger, conditions, and recommended Freshsales Workflow equivalent. We do not rebuild Agillic Flows as Freshsales Workflows inside the migration scope; that is a separate engagement for the customer's admin or a Freshsales partner.

Platform deep dives

Context on both ends of the pair

Agillic logo

Agillic

Source

Strengths

  • Fully customisable recipient schema with no fixed field constraints.
  • Native omnichannel support: email, SMS, push, print, paid media, and point-of-sale.
  • GDPR compliance built-in with annual independent security audits.
  • Staging and production separation for safe campaign testing.
  • Real-time audience activation to Google and Meta.

Weaknesses

  • API rate limits are not publicly documented, complicating migration planning.
  • Heavy developer dependency for data sync, custom flows, and content templates.
  • No built-in advanced analytics — requires external BI tools for activity analysis.
  • Workflows (Flows) are tightly coupled to Agillic's execution engine, making cross-platform migration requires reimplementation.
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 Agillic 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

    Agillic: Not publicly documented — limited per production instance per day.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 10,000 Recipients with no Global Data Tables and no Activity history migration. Migrations with large recipient volumes (50,000+), extensive custom recipient schemas (50+ custom properties), full Activity history migration, or Global Data Table-to-custom-object mapping move to four to eight weeks because of schema enumeration, custom field creation, and Bulk API ingestion.

Adjacent paths

Related migrations to explore

Ready when you are

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