CRM migration

Migrate from Unanet CRM by Cosential to Nutshell

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

Nutshell

Destination

Nutshell logo

Compatibility

93%

13 of 14

objects map 1:1 between Unanet CRM by Cosential and Nutshell.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Unanet CRM by Cosential is an enterprise CRM purpose-built for architecture, engineering, and construction firms, with deep integration between pursuits, proposals, and project data. Its Compass API exposes a data model centered on Organizations (multi-contact companies), Persons (contacts with role assignments), Pursuits (the Unanet equivalent of a deal/opportunity), Pursuit Stages, and custom fields scoped to each object. Nutshell uses a simpler three-entity model — People, Companies, and Leads — with Deals and a pipeline-stage system that maps most directly to Unanet's Pursuit tracking. The core migration challenge is converting Unanet's pursuit-centric workflow into Nutshell's deal-centric model, preserving pursuit stage history as Nutshell deal stage history, collapsing Unanet's multi-contact organization structure into Nutshell's Company-PrimaryContact pattern, and mapping Unanet's role labels (such as Business Developer, Project Manager, Principal) into Nutshell's custom person fields or tags. We extract source data via the Cosential Compass v1/v2 REST API with basic-auth plus API key headers, then bulk-load into Nutshell via the Nutshell JSON-RPC API using user-impersonation tokens. Activities — calls, emails, meetings, and notes — migrate as Nutshell Activities attached to the relevant Person or Deal record. Unanet custom fields map to Nutshell custom fields on the equivalent object. Workflows, proposal templates, and integration configurations do not migrate; we export Unanet workflow definitions as a JSON reference file for your team to rebuild in Nutshell's automation tools.

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

Unanet CRM by Cosential logo

Unanet CRM by Cosential

What's pushing teams away

  • Account Planning feature remains weak despite repeated user requests, leaving Business Development teams unsupported in long-term account strategy.
  • Navigation is widely criticized — convoluted search, hard-to-find dashboards, and a steep learning curve frustrate new users.
  • Double data entry is required in some workflows, particularly when integrating with financial systems or proposal tools outside the core CRM.
  • The interface is described as dated and clunky compared to modern CRM alternatives, affecting daily user experience.
  • Users report that the platform can be slow to load dashboards and reports, especially with large datasets accumulated over years.

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 Unanet CRM by Cosential objects map to Nutshell

Each row shows how a Unanet CRM by Cosential 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.

Unanet CRM by Cosential

Organization

maps to

Nutshell

Company

1:1
Fully supported

Unanet Organizations map directly to Nutshell Companies. Both represent a business entity with name, address, industry, and contact associations. We map Organization.name → Company.name and Organization.address fields to Nutshell's address fields. Multi-branch organizations in Unanet collapse to one Nutshell Company record with the primary address; branches can be tracked via custom fields if required.

Unanet CRM by Cosential

Person

maps to

Nutshell

Person

1:1
Fully supported

Unanet Persons map to Nutshell People — a one-to-one translation for most fields. Person.firstName, Person.lastName, Person.email, Person.phone, Person.title, and Person.address map directly. Person records that represent leads in Unanet (identified by lifecycle status) route to Nutshell's Lead model rather than Person, based on the source lifecycle value we read from the API response.

Unanet CRM by Cosential

Person (lead-status)

maps to

Nutshell

Lead

1:many
Fully supported

Unanet Persons without an assigned role on an active Organization — or Persons flagged as prospects in Unanet's internal status — migrate to Nutshell Leads. This split prevents a Person record from existing without a primary company link in Nutshell. The source API's person status field drives the split; we preserve the original status as a Nutshell custom field for audit continuity.

Unanet CRM by Cosential

Pursuit

maps to

Nutshell

Deal

1:1
Fully supported

Unanet Pursuits are the closest analogue to Nutshell Deals. Pursuit.pursuitName → Deal.name, Pursuit.estimatedValue → Deal.value, Pursuit.probability → Deal.probability (mapped to Nutshell's probability field if present), and Pursuit.closeDate → Deal.closeDate. Pursuit stage names map to Nutshell pipeline stage names via a value-by-value lookup table we build during discovery.

Unanet CRM by Cosential

Pursuit Stage

maps to

Nutshell

Pipeline Stage

1:1
Fully supported

Unanet's configurable pursuit stages (e.g., Prospect, Qualified, Proposal, Negotiation, Won, Lost) map to Nutshell pipeline stage names. We create a value-mapping table during scoping: each Unanet stage string maps to the closest Nutshell stage name. Probability values associated with each Unanet stage carry forward as custom fields on the Nutshell Deal since Nutshell's built-in probability is per-stage by default on certain tiers.

Unanet CRM by Cosential

Organization.Person (N:N association)

maps to

Nutshell

Company → Person primary link + Tags

1:1
Fully supported

Unanet allows multiple Persons to be associated with an Organization in an N:N relationship, each with a role label (e.g., Estimator, PM, Principal). Nutshell Person has a single primaryCompany field. We set the primary company to the most recently modified Organization-Person association, and store additional role labels as comma-separated tags on the Nutshell Person record so the full relationship history is searchable.

Unanet CRM by Cosential

Custom Field (Organization)

maps to

Nutshell

Custom Field (Company)

1:1
Fully supported

Unanet Organization custom fields (e.g., NAICS codes, bonding capacity, contract type preferences) require corresponding custom fields to be created in Nutshell before migration. We create each custom field via Nutshell's Settings → Custom Fields API, matching the field type (text, number, date, picklist) from Unanet's Compass API field definition. Picklist custom fields in Unanet require a full value-mapping list in Nutshell.

Unanet CRM by Cosential

Custom Field (Person)

maps to

Nutshell

Custom Field (Person)

1:1
Fully supported

Unanet Person custom fields (e.g., professional certifications, licenses, secondary phone numbers) migrate to Nutshell Person custom fields. Field type conversion follows the same logic as Organization custom fields. Cosential stores some person metadata in the Person.FirmName field for organization-less persons; we parse this and route it to the appropriate Nutshell field during transformation.

Unanet CRM by Cosential

Custom Field (Pursuit)

maps to

Nutshell

Custom Field (Deal)

1:1
Fully supported

Pursuit custom fields (e.g., project type, contract vehicle, incumbent status, past performance ratings) migrate to Nutshell Deal custom fields. These fields are critical for AEC firms tracking pursuit-specific attributes beyond stage and value. We map field types exactly and preserve picklist values as Nutshell picklist options where available.

Unanet CRM by Cosential

Activity (Call / Email / Meeting / Note)

maps to

Nutshell

Activity (Call / Email / Meeting / Task)

1:1
Fully supported

Unanet activity records attached to a Person or Pursuit map to Nutshell Activities with the matching type. Call activities → Nutshell Call, Email → Nutshell Email, Meeting → Nutshell Meeting, Note → Nutshell Note. Original timestamps, activity owners (resolved by email match to Nutshell users), and parent record links (Person or Deal) are preserved. Nutshell's activity model supports rich text notes.

Unanet CRM by Cosential

Attachment / File

maps to

Nutshell

File

1:1
Fully supported

Unanet file attachments on Organizations, Persons, and Pursuits are downloaded from the Compass API and re-uploaded to Nutshell's file storage, linked to the corresponding Nutshell record (Company, Person, or Deal). File size limits on Nutshell's storage apply; files exceeding limits are flagged before migration and handled case-by-case.

Unanet CRM by Cosential

Owner (User)

maps to

Nutshell

User

1:1
Fully supported

Unanet owner assignments on Pursuits and Persons are resolved by email match against Nutshell Users. If a Unanet owner email has no matching Nutshell User, the record is assigned to the Nutshell account admin and the unmatched owner email is stored in a Source_Owner_Email__c custom field for post-migration reassignment.

Unanet CRM by Cosential

Workflow / Automation

maps to

Nutshell

Not migrated

1:1
Fully supported

Unanet workflows, pursuit gating rules, and automated alerts do not migrate to Nutshell. These are destination-side automation constructs with no structural equivalent in Nutshell. We export the workflow definitions as a JSON reference file from Unanet's Compass API so your Nutshell admin can rebuild equivalent rules in Nutshell's automation tools.

Unanet CRM by Cosential

Proposal Template

maps to

Nutshell

Not migrated

1:1
Fully supported

Unanet's proposal automation templates and generated proposals are document artifacts, not CRM data. They do not migrate. We export a list of proposal template names and field mappings as a reference document for rebuilding in Nutshell's proposal tools or a third-party proposal platform.

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.

Unanet CRM by Cosential logo

Unanet CRM by Cosential gotchas

High

Non-standard object names block naive field mapping

High

API requires Enterprise License agreement

Medium

Duplicate contact risk on bulk imports

Medium

Custom fields require manual schema enumeration

Low

Proposal templates carry template logic, not just data

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

  • Unanet pursuit stage names have no guaranteed Nutshell equivalent — stage mapping requires manual configuration

    Unanet pursuit stages are fully configurable per firm — a construction company might use 'Identified', 'Pursuit', 'Shortlist', 'Proposal', 'Negotiation', 'Awarded', 'Lost' while an engineering firm might use 'Go/No-Go', 'Qualification', 'Technical Proposal', 'Best and Final'. Nutshell's pipeline stages on the Pro plan and above are also configurable, but they default to a standard set. Before migration runs, we work with your team to build a value-mapping table that pairs each Unanet stage name with the correct Nutshell stage. If your Unanet setup has more than three pipelines, each pipeline's stage set requires its own mapping — the wrong stage assignment causes probability and reporting misalignment in Nutshell from day one.

  • Unanet's N:Person-to-N:Organization association collapses to a single primary company in Nutshell

    Unanet's Compass API stores a Person-Organization junction table that lets a single person hold a role at multiple organizations simultaneously — a common pattern in AEC where a principal might serve as the primary contact for multiple firm clients. Nutshell Person has a single primaryCompany field. We migrate the most recently updated Person-Organization association as primaryCompany and surface the remaining organization links as comma-separated tags (e.g., 'Secondary Company: [Company Name]') on the Nutshell Person record. Your Nutshell admin can decide whether to create separate Nutshell Person records per organization or retain the tag-based approach for reference.

  • Nutshell's per-seat contact cap on lower plans can inflate billing unexpectedly after migration

    Nutshell's pricing scales on the number of contacts stored, not just users. The Foundation plan (starting at $13/user/month) caps at a base contact limit and charges per-additional-contact overage. Unanet CRM's pricing is per-user only with no contact cap. After migration, if your Unanet data contains a large contact volume (common in AEC firms with extensive project reference libraries), the Nutshell contact cap on your chosen plan may be exceeded immediately, triggering overage charges that were not anticipated. We provide a pre-migration contact count report so you can select the correct Nutshell plan before migration begins.

  • Unanet's pursuit gating and workflow automation have no Nutshell equivalent and must be rebuilt

    Unanet's pursuit gating rules enforce stage-sequence compliance — a pursuit cannot advance from 'Pursuit' to 'Proposal' without required fields or approvals completed. Nutshell has no native equivalent to pursuit gating; its pipeline stages are informational rather than enforcement-driven. Additionally, Unanet alert rules and automated notifications do not translate to Nutshell automation. We export the full Unanet workflow definitions as a JSON reference file from the Compass API before migration so your Nutshell admin can evaluate which rules are essential to rebuild in Nutshell's automation toolset.

  • Cosential Compass API rate limits require staged export windows for large datasets

    The Cosential Compass API does not publish explicit per-minute rate limits in its public documentation, but large account exports (10,000+ records) may encounter HTTP 429 responses during bulk extraction, particularly on the v1 endpoints. We handle this with exponential backoff retry logic and paginated cursor-based pagination using the Lucene query syntax the Compass API supports. For accounts with more than 50,000 total records across Organizations, Persons, Pursuits, and Activities, we stage the export across multiple nightly windows to avoid triggering throttling, which extends the extraction phase by 1–2 days.

Migration approach

Six steps for a successful Unanet CRM by Cosential to Nutshell data migration

  1. Connect to Cosential Compass API and run a full data audit

    We authenticate to the Cosential Compass API using your firm's API credentials (username, password, x-compass-api-key, and x-compass-firm-id headers). We then run a discovery pass that exports all Organizations, Persons, Pursuits, custom field definitions, activity records, and attachment metadata. We generate a record-count report broken down by object type, flag any records with missing required fields (e.g., Persons without an email address), and identify the set of active pursuit stages and their associated probability values. This report forms the basis of the Nutshell plan-sizing and stage-mapping discussion.

  2. Map pursuit stages and create Nutshell custom fields

    Using the discovery-stage report, we work with your team to build the pursuit-stage-to-Nutshell-pipeline-stage value-mapping table. We also create all required Nutshell custom fields for each object (Company, Person, Deal) based on the Unanet custom field definitions we read from the Compass API. Custom picklist fields in Unanet are recreated as Nutshell picklist fields with the same option values. This step requires Nutshell admin credentials so we can create fields via the Nutshell API before any data is loaded.

  3. Resolve owner and user mappings by email

    Unanet owner assignments on Persons and Pursuits are matched by email address against the Nutshell user list. We generate a pre-migration owner-resolution report that lists every Unanet owner, whether a matching Nutshell user exists, and which records will be assigned to a fallback user (typically the Nutshell admin) if no match is found. Your team has the opportunity to invite missing users to Nutshell or designate a fallback owner before the migration run. No record lands in Nutshell without a resolved owner.

  4. Run a sample migration with field-level diff on a representative record slice

    We migrate a sample of 100–300 records spanning Organizations, Persons, Pursuits, and Activities — chosen to include edge cases like records with no primary company, records with custom field values, and pursuits at each stage. The sample runs against your live Nutshell account. We generate a field-level diff report comparing each source field value against the corresponding Nutshell field value, so you can verify stage mapping, owner resolution, and custom field data before the full run commits.

  5. Execute full migration with delta-pickup and rollback window

    Once the sample migration is approved, we run the full data migration in sequenced order: Companies first (to resolve foreign keys), then People/Leads, then Deals with stage and owner resolution. Activities and attachments follow in a final pass. A delta-pickup window of 24–48 hours runs concurrently, capturing any records modified in Unanet during the cutover. An audit log records every create, update, and skip operation. One-click rollback reverts all Nutshell changes if reconciliation finds discrepancies that cannot be resolved within the agreed threshold.

Platform deep dives

Context on both ends of the pair

Unanet CRM by Cosential logo

Unanet CRM by Cosential

Source

Strengths

  • Deep AEC-native data model purpose-built for project-based relationship tracking and proposal generation
  • Proposal automation directly integrated with CRM data, eliminating manual re-entry for qualification packages
  • Strong company-association model handles multi-role contacts and firm hierarchy within a single object structure
  • Reputation and track record with 1,000+ AEC firms over 20+ years provides industry credibility
  • Comprehensive Microsoft Outlook integration and mobile app support field teams working on projects

Weaknesses

  • Non-standard field names and AEC-specific object names require significant field-level mapping work
  • Account Planning feature is consistently under-developed and a pain point for Business Development teams
  • Navigation and search are widely criticized as convoluted, suggesting a dated UX
  • Custom fields are not fully documented in the public API schema, making discovery a manual process
  • Pricing starts at $50/user/month with significant implementation costs, making it expensive for smaller AEC firms
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. 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 Unanet CRM by Cosential and Nutshell.

  • 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

    Unanet CRM by Cosential: Not publicly documented.

  • Data volume sensitivity

    B

    Unanet CRM by Cosential doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Unanet CRM by Cosential 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 Unanet CRM by Cosential to Nutshell data migrations

Answers to the questions buyers ask most during Unanet CRM by Cosential to Nutshell migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most Unanet CRM to Nutshell migrations complete within 48–72 hours for under 25,000 total records. Larger datasets — particularly AEC firms with 100,000+ Person records and extensive activity history — extend to 5–10 days. The longest planning step is building the pursuit-stage-to-Nutshell-pipeline-stage value-mapping table, which requires 1–3 days of collaboration with your team. Custom field creation in Nutshell (Settings → Custom Fields) is done before migration runs and adds minimal clock time.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Unanet CRM by Cosential.
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