CRM migration

Migrate from Agillic to Nutshell

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

Agillic logo

Agillic

Source

Nutshell

Destination

Nutshell logo

Compatibility

90%

9 of 10

objects map 1:1 between Agillic and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Agillic to Nutshell is a directional shift from omnichannel marketing automation to focused SMB sales CRM. Agillic's core entity is the Recipient — a fully customisable person record with any number of client-defined properties — alongside Flows (campaign automation), Activity Logs tied to Flow Execution IDs, and Global Data Tables. Nutshell tracks Contacts (People in the UI, Contacts in the API) and Accounts (Companies in the UI) with a simpler, fixed schema. We enumerate every active Agillic recipient property during discovery, map standard fields directly to Nutshell equivalents, and store non-standard properties as custom fields. Activity logs migrate as Nutshell Tasks and Events with timestamps preserved. We do not migrate Flows, email template content, SMS or push configurations, or Agillic's native GDPR compliance tooling; these require re-implementation in Nutshell or supplementary tooling post-migration.

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

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How Agillic objects map to Nutshell

Each row shows how a Agillic object lands in Nutshell, 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

Nutshell

Contact

1:1
Fully supported

Agillic Recipients map to Nutshell Contacts (API noun: Contact; UI noun: Person). Every standard recipient field (email, first name, last name, phone) maps to Nutshell Contact fields. Custom recipient properties defined in the client's Agillic schema are enumerated during discovery and created as Nutshell custom fields before migration. The Agillic Recipient ID is preserved in a custom field agillic_recipient_id__c for reconciliation.

Agillic

Company

maps to

Nutshell

Account

1:1
Fully supported

Agillic Companies map to Nutshell Accounts (API noun: Account; UI noun: Company). The Company name maps to Account.name, and the postal address maps to Account.address fields. Nutshell Accounts have a simpler address structure than Agillic's; complex multi-line or multi-address records are consolidated to the primary address.

Agillic

Recipient-Company link

maps to

Nutshell

Contact-Account link

1:1
Fully supported

Agillic Recipients are linked to Companies via a many-to-one relationship. In Nutshell, Contacts are linked to Accounts via the accountId field. We resolve the accountId reference during migration so that every Contact is attached to its parent Account before the Contact import phase completes.

Agillic

Deal

maps to

Nutshell

Lead

1:many
Fully supported

Agillic Deals map to Nutshell Leads for unqualified prospect records and to Opportunities for qualified deals. If the Agillic Deal has an associated Company and a clear sales-readiness flag, we assess whether it maps to a Lead or to an Opportunity. For straightforward migrations where all Agillic Deals represent active sales opportunities, we map directly to Nutshell Opportunity records.

Agillic

Deal

maps to

Nutshell

Opportunity

1:1
Fully supported

Agillic Deals with a defined stage and close date map to Nutshell Opportunity. Deal name maps to Opportunity.name, deal amount to Opportunity.amount, expected close date to Opportunity.promised_date, and deal stage to Opportunity.status. Nutshell's deal pipeline columns map to the Opportunity.status picklist values.

Agillic

Activity Log (Email send/open/click)

maps to

Nutshell

Task

1:1
Fully supported

Agillic email engagement records (send, open, click, bounce) migrate to Nutshell Task records. Each Task carries the original Agillic activity type in task_type, the timestamp in due_date, and the recipient email in description. Nutshell's API does not store full email content — we migrate activity metadata and the activity description as a structured text note rather than as a full email message body.

Agillic

Activity Log (Call)

maps to

Nutshell

Task

1:1
Fully supported

Agillic call activity records map to Nutshell Task with task_type set to Call. Call duration from Agillic is stored in a custom Nutshell field call_duration__c. Activity timestamps migrate as due_date to preserve the activity timeline ordering against the parent Contact.

Agillic

Activity Log (Meeting)

maps to

Nutshell

Event

1:1
Fully supported

Agillic meeting activity records map to Nutshell Event. The event title migrates as name, the meeting start time as starts_at, and the end time as ends_at. Location data migrates to the Event's location field. Attendee lists from Agillic meeting records are stored in a custom notes field if the count is within Nutshell's field limits.

Agillic

Flow Execution History

maps to

Nutshell

Task (note)

1:1
Fully supported

Agillic Flow Execution IDs and the associated campaign metadata (flow name, execution date, recipient count) are preserved in a structured custom field agillic_flow_executions__c on the Contact record. This maintains the cross-reference for teams that need to tie activity records back to specific Agillic campaign runs, even though Flows themselves do not migrate.

Agillic

Global Data Table

maps to

Nutshell

Custom Object

1:1
Fully supported

Agillic Global Data Tables (custom relational data structures used within Flows) are exported as schemas and row data, then mapped to Nutshell custom objects. We pre-create the destination custom object and fields in Nutshell via the API before importing data. The table-to-object mapping is documented during scoping, and the customer chooses whether to maintain the relationship structure or flatten it into custom fields on the Contact.

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

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Pair-specific challenges

  • Agillic custom schema requires mandatory full enumeration before field mapping

    Agillic has no fixed recipient data model — every client's schema is unique, with arbitrary custom properties defined during implementation. We cannot begin field mapping until every active recipient property has been enumerated via the Agillic Recipient API or a Recipients Export. If any custom field is omitted during enumeration, data for that property is silently lost during migration because it does not appear in the export. We mitigate this by requesting both a full Recipients Export and a separate API field enumeration, then reconciling both lists before confirming the field map. This enumeration step adds one to three days to discovery for heavily customised Agillic instances.

  • Nutshell API stores email activity metadata, not full email body content

    Agillic Activity Logs include full email subject, HTML body, and text body for every send, open, and click event. Nutshell's Task and Event objects store activity metadata and descriptions but do not preserve the full email body. We migrate email engagement records as Tasks with the subject, timestamp, and activity type preserved in the description field, but the HTML body content does not transfer as a first-class email record. If the customer requires full email body preservation, this must be handled as a separate data archiving project using a dedicated email archiving tool rather than within the CRM migration scope.

  • GDPR consent flags live in non-standard Agillic fields and have no native Nutshell equivalent

    Agillic's native GDPR compliance includes consent tracking fields that are custom-defined per client. Nutshell has no built-in consent management module. We migrate consent flags as Nutshell custom checkbox fields, but the customer must decide whether to manage consent re-collection, integrate a dedicated consent management platform, or accept that Nutshell's consent tracking is a custom configuration rather than a platform-native feature. Teams subject to strict GDPR enforcement should review whether a custom Nutshell setup meets their ongoing compliance requirements before migration is finalised.

  • Nutshell rate limits apply to find requests with non-stub responses

    Nutshell's API rate-limits find requests (findContacts, findAccounts, findLeads) that return full record data rather than stub responses. During migration, if we exceed these limits we receive a rate limit response and must pause and retry with backoff. We handle this by using stub responses for initial lookups, batching full record requests, and implementing exponential backoff. The degree of rate limiting is not publicly documented by Nutshell and may vary by plan tier. We request the customer's Nutshell API key during scoping to test rate limit behaviour in their specific environment before migration day.

  • Agillic Flows and email template content do not migrate — they require re-implementation

    Agillic Flows are tightly coupled to its execution engine and have no documented export endpoint. Email template HTML, dynamic content blocks, and personalisation fields are Agillic-format assets that have no equivalent structure in Nutshell. We export Flow names, associated trigger events, and campaign metadata as a written inventory for the customer's team to review. Email templates and content blocks require a content refactoring effort — the customer's marketing team or a Nutshell implementation partner rebuilds these post-migration. This is a known limitation of any Agillic exit and is not unique to this pair.

Migration approach

Six steps for a successful Agillic to Nutshell data migration

  1. Discovery and custom field enumeration

    We audit the source Agillic instance to enumerate every active recipient property, identify all Companies and Deals, estimate Activity Log volume across email/call/meeting/event channels, and confirm the Flow Execution ID export setting. We also retrieve the Agillic export configuration (date format, delimiter) to match Nutshell's import requirements. This step is longer than typical for Agillic migrations because of the mandatory custom schema enumeration requirement. The discovery output is a written field map with every source property matched to a destination field or custom field creation task.

  2. Destination schema preparation in Nutshell

    We create every required custom field in Nutshell before any data import. For each custom Agillic recipient property, we create a Nutshell custom field of the closest matching type (text, number, date, dropdown, checkbox). We configure the Nutshell pipeline structure (pipelines and status columns for Opportunities) to match the Agillic deal pipeline and stage names. All schema changes happen in the customer's Nutshell account before migration begins. We also confirm the Nutshell API key has sufficient permissions for the migration operation.

  3. Sandbox or trial import

    We run a sample import with a subset of data — typically 100-200 Recipients, 20-50 Companies, and 50-100 Deals — into the live Nutshell account. This validates field mappings, confirms custom field creation is correct, identifies any character-limit truncations or picklist mismatches, and allows the customer to spot-check records before the full migration. Corrections to the field map happen here. Nutshell's Import2 tool supports sample import validation before a full import is committed.

  4. Owner reconciliation

    We extract all distinct owner references from Agillic Recipients, Companies, and Deals and match by email address against Nutshell Users. Owners without a matching Nutshell User are flagged in a reconciliation list. The customer provisions any missing Nutshell Users before the full migration begins, or accepts that those records will be assigned to a default owner during migration.

  5. Full production migration in dependency order

    We migrate in this order: Accounts (from Agillic Companies), Contacts (from Agillic Recipients with AccountId resolved), custom field data on Contacts, Opportunities (from Agillic Deals with AccountId and OwnerId resolved), then Activity history (Tasks for email and call events, Events for meetings). Each phase emits a row-count reconciliation report. Activity records are matched to their parent Contact by email address. Flow Execution IDs and campaign metadata are written to a structured custom field on the Contact record.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Agillic writes during cutover, run a delta migration of any records modified during the migration window, then confirm the Nutshell account is the system of record. We deliver a written Flow and campaign inventory document listing every Agillic Flow with its trigger, channel, and estimated Nutshell Workflow equivalent. We do not rebuild Agillic Flows as Nutshell Workflows as part of the migration scope. We support a five-business-day post-migration window for reconciliation issues raised by the customer's team.

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.
Nutshell logo

Nutshell

Destination

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation

Complexity grading

How hard is this migration?

Standard CRM migration. 1 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 Nutshell.

  • Object compatibility

    B

    1 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 Nutshell 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 Nutshell data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations complete in two to four weeks for straightforward scopes under 10,000 Recipients, 2,000 Deals, and under 20 custom fields. Migrations with large custom schemas (50+ custom fields), high activity volumes (over 100,000 activity records), or multiple Agillic Flow Execution histories to reconstruct move to four to eight weeks. The mandatory custom field enumeration step in discovery is the primary variable that affects timeline for Agillic migrations specifically.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Agillic.
Land in Nutshell, 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