Migration Playbook

Clarify uGru CRM

Clarify to uGru CRM: The Complete Migration Playbook

A 35-step runbook across six phases — track your progress, and open the right tool at every step.

0 / 35 steps complete 0%
TL;DR

Clarify to UGRU CRM migration means moving from a flexible, API-first schema to a fixed financial advisory platform — CSV import is the primary ingestion path, and custom objects have no equivalent.

Migrating from Clarify to UGRU CRM requires moving from an AI-native, schema-flexible CRM with custom objects and a clean JSON:API interface into a purpose-built financial advisory practice management suite with a fixed, finance-specific data model. No native migration path or well-supported third-party connector exists between the two platforms, making this an engineered migration in most non-trivial cases. The fundamental data model gap centers on Clarify's support for custom objects, typed many-to-many relationships, and an open API versus UGRU's rigid three-tier household hierarchy, limited inbound API surface, and CSV-primary data ingestion. Custom transformation work is required to flatten Clarify custom objects, reconstruct household groupings, and remap activity history into UGRU-compatible formats.

Read this first

Pair-specific gotchas that catch teams out. Each one has cost somebody a weekend.

This migration is a downgrade in schema flexibility

Clarify supports custom objects, typed relationships, and a modern API. UGRU's data model is fixed and purpose-built. If you rely on Clarify's custom objects for non-financial data, expect to lose or flatten those structures.

UGRU's free basic migration

UGRU offers free basic data migration assistance for new customers. Based on public materials, this typically covers contact and account import from CSV files. It is unlikely to cover custom object archival, activity history reconstruction, household relationship mapping, or FINRA email archive migration. Confirm scope and exclusions with UGRU sales before relying on this service for anything beyond simple contact import.

Collection fields are the #1 source of import errors

Clarify stores emails as {"items": ["a@b.com", "c@d.com"]}. A naive JSON-to-CSV conversion produces a single cell with the JSON string. You must explicitly split these into separate columns before import. If a contact has more than 2 email addresses, take the first two for UGRU's primary and secondary email fields and concatenate the rest into a notes field (e.g., Additional emails: c@d.com, e@f.com).

Create UGRU custom fields for legacy_clarify_id, legacy_company_id, and legacy_deal_id

Create UGRU custom fields for legacy_clarify_id, legacy_company_id, and legacy_deal_id before the first test load. Those keys make reruns, reconciliation, and rollback much easier. If UGRU does not support custom fields for all object types, store the legacy ID in a dedicated notes prefix: [ClarifyID: abc123].

Clarify people ↔ deals are many-to-many

A single deal can be linked to multiple contacts, and a single contact can be linked to multiple deals. If you flatten them too early (e.g., by putting a single Contact Name column on the opportunity CSV), one contact can end up linked to the wrong opportunity set, or multi-party deals lose participants from pipeline reporting entirely. Extract relationship tables separately and rebuild them after accounts and contacts exist in UGRU. (developer.clarify.ai)

UGRU's public materials reference a developer API, but endpoint-level reference docs and

UGRU's public materials reference a developer API, but endpoint-level reference docs and published rate limits were not found in publicly available materials as of this writing. If your migration plan depends on API writes into UGRU (rather than CSV), take these steps before committing to a cutover date:

Do not assume that migrating email references from Clarify's activity stream into UGRU

Do not assume that migrating email references from Clarify's activity stream into UGRU constitutes FINRA-compliant email archiving. Clarify's activity records are summaries, not the original archived messages. Your FINRA archive should be maintained independently of either CRM.

The runbook

Work top to bottom. Tick steps as you go — your progress is saved in this browser.

01 Discovery Agree scope, pipeline design and success criteria before touching data. 0/5

Objective A scope covering every object in the revenue model, with sales leadership signed up to the pipeline design.

  1. Inventory every object in Clarify

    RevOps 1-2 days

    Count accounts, contacts, leads, deals or opportunities, activities, notes, emails, files, products and quotes. Activity and email history is usually the largest object by an order of magnitude and the one people forget to size.

    Data Profiler Get real record counts instead of estimating from memory
  2. Map the current pipeline and agree the target model

    Sales leadership 3-5 days

    Document every pipeline, stage, probability and required field, then agree the uGru CRM model with sales leadership. Migrating a broken pipeline faithfully is a wasted opportunity; redesigning it mid-migration is a wasted migration.

    Stage changes alter historical conversion rates. Agree how you will restate reporting before you change the model.

  3. Catalogue integrations and automation

    RevOps 2-3 days

    List every system touching Clarify: marketing automation, quoting, billing, ERP, data enrichment, dialler, BI. Each is a separate cutover task with its own owner, and each can silently write bad data into your new CRM.

  4. Capture the reporting that must survive

    RevOps 2 days

    Interview the people who actually live in the dashboards — forecast, pipeline coverage, rep activity, cohort conversion. Every one of these needs the underlying fields to migrate, which frequently expands the scope.

  5. Build the business case and pick the go-live date

    Project sponsor 2 days

    Model licence delta, implementation effort and productivity dip. Then choose the date deliberately: mid-quarter is disruptive, quarter-end is worse. Most teams land on the first week of a new quarter.

    COI & ROI Calculator Build the 36-month business case you will need for sign-off

Clarify → uGru CRM specifics

Industry-specific functionality
UGRU includes goal-based planning, needs analysis, estate planning, cash flow modeling, and retirement income planning directly inside the CRM. Clarify has none of this.
FINRA compliance
UGRU is designed for FINRA-regulated environments, including built-in email archiving with retention controls. Clarify was not designed for regulated financial services and does not provide native email archiving.
Consolidated tooling
UGRU eliminates the need for separate accounting, financial planning, and marketing automation tools. For small RIA firms (Registered Investment Advisors), this all-in-one approach reduces total subscription cost and vendor management overhead.
Pre-built advisory workflows
UGRU ships with over 40 pre-designed workflows for client acquisition, annual reviews, RMD (Required Minimum Distribution) reminders, and client termination — configured for financial advisory processes out of the box.
Time window
All historical data, or only records from the last N years?

Don't move on until

  • Object counts confirmed for accounts, contacts, deals and activities
  • Target pipeline and stage model agreed with sales leadership
  • Reporting requirements captured from the people who use the reports
02 Data Audit CRM data is usually dirtier than anyone expects. Find out how dirty. 0/6

Objective A profiled export with duplicates, ownership gaps and relationship integrity all quantified and triaged.

  1. Export and profile every object

    Data engineer 2 days

    Profile null rates, distinct values and type consistency across all objects. Pay attention to fields sales reps were supposed to fill in: an 80% null rate on a field your forecast depends on is a business finding, not a data one.

    Data Profiler Profile the Clarify export for nulls, outliers and type drift
  2. Quantify duplicates and agree the merge policy

    RevOps 2-4 days

    Measure duplicate accounts (same company, different spellings and suffixes) and contacts (same email, or same person at a renamed company). Agree survivorship rules before merging: which record wins, which fields, and what happens to the activity history on the loser.

    Merging before you have agreed survivorship rules destroys history irreversibly. Decide first, merge second.

    Data Cleaner Strip empty rows, stray whitespace and dead columns
  3. Verify relationship integrity

    Data engineer 1-2 days

    Check every deal has a valid account, every contact a valid account, every activity a valid parent. Referential breaks are the defect that turns a clean-looking load into a CRM where the pipeline report does not tie to the account list.

  4. Resolve ownership and the user map

    RevOps 1-2 days

    Build the Clarify user → uGru CRM user map, including leavers. Every record needs a valid owner: records assigned to deactivated users either fail to load or land unassigned, and unassigned pipeline is pipeline nobody works.

    Records owned by deactivated users are a top cause of load failures. Decide the reassignment target before you start.

  5. Scan for PII and regional compliance

    Compliance / DPO 1-2 days

    CRMs hold marketing consent, lawful basis and unsubscribe state. Confirm these fields migrate intact and that consent provenance survives — losing consent records is a regulatory problem, not a data-quality one.

    PII & Compliance Scanner Find regulated fields before they land in a new system
  6. Clean, normalise and archive the pre-state

    Data engineer 2 days

    Normalise country and state values, phone formats, currencies and casing, and standardise all timestamps to UTC. Keep an untouched copy of the raw export — it is your only reference if a mapping decision turns out wrong.

Clarify → uGru CRM specifics

ID collisions
Two workspaces may have contacts with the same email but different activity histories. Decide on a mastering strategy (which workspace's data wins on conflict).
Cross-workspace relationships
A client in Workspace A may have deals tracked in Workspace B. Map these before extraction.
API key per workspace
Each workspace requires its own API key for extraction.

Don't move on until

  • Duplicate rate quantified per object with a merge policy agreed
  • Every record has a valid owner mapped to a target user
  • Relationship integrity verified — no orphaned deals or contacts
03 Field Mapping Map objects, relationships and picklists — in that order. 0/6

Objective A signed mapping spec that covers objects, relationships, picklist values and currency handling.

  1. Map objects and their relationships first

    Solution architect 2-3 days

    Establish how Clarify objects correspond to uGru CRM objects before any field work. Leads-versus-contacts, accounts-versus-organisations and deal hierarchies differ structurally between CRMs, and a field map built on the wrong object model has to be redone.

    Schema Mapper Opens pre-loaded with the Clarify → uGru CRM field pair
  2. Generate and then hand-review the field map

    Solution architect 2-3 days

    Auto-match both schemas, then review every row. Look hardest at anything named "type", "source", "stage" or "status", where names match and meanings do not.

  3. Map every picklist value, including retired ones

    RevOps 2 days

    Enumerate all values on both sides — deal stages, lead sources, industries, statuses — and map each explicitly, including values no longer offered but still present on old records. Unmapped values either fail the row or land as blanks that quietly break segmentation.

    Historical records often carry picklist values that were retired years ago and no longer appear in the UI.

  4. Decide currency, amount and date handling

    Finance / RevOps 1-2 days

    If you sell in multiple currencies, confirm how uGru CRM stores amounts, exchange rates and dated conversion rates. Recalculating historical deal values at today's rate silently rewrites your revenue history.

    Multi-currency deals re-converted at current rates will not tie to your historical reporting or your finance system.

  5. Determine the load order

    Data engineer 1 day

    Sequence the load so parents exist before children: users, then accounts, then contacts, then deals, then activities and notes. Keep source IDs in custom fields so relationships can be rebuilt by lookup rather than guesswork.

  6. Freeze the spec and sign off

    Project manager 1 day

    Version-control the mapping, walk RevOps and sales leadership through the decisions that change reporting, and get written sign-off before the pilot.

Don't move on until

  • Object and relationship model mapped and reviewed
  • Every picklist value explicitly mapped, including dead values
  • Load order determined so parents always exist before children
04 Test Migration Pilot with related records, not a flat sample. 0/6

Objective A pilot load whose relationships, ownership and roll-up reporting all verify against source.

  1. Configure the uGru CRM sandbox to match the agreed model

    Solution architect 3-5 days

    Build the pipelines, stages, custom fields, record types and user roles first. Load into a default configuration and you will only discover the configuration defects at full scale.

  2. Select a connected pilot slice

    Data engineer 0.5 day

    Take complete account trees — 50-100 accounts with all their contacts, deals, activities and files — rather than a flat random sample. Relationship defects are the whole point of a CRM pilot and a flat sample cannot expose them.

  3. Run the load in dependency order with full logging

    Data engineer 1-2 days

    Load users, accounts, contacts, deals, then activities, logging every request against its source ID. Note which failures are transient (rate limits, timeouts) and which are structural (validation, missing parent).

  4. Verify relationships and roll-ups

    RevOps 1-2 days

    Confirm every deal sits on the right account with the right owner and stage, and that pipeline totals per account and per rep match Clarify exactly. Roll-up mismatches almost always mean a relationship or currency defect upstream.

    Migration Validation Tool Diff the pilot batch against source before scaling up
  5. Measure throughput and project the full load

    Data engineer 1 day

    Record actual records-per-hour under uGru CRM's API limits and extrapolate, remembering activity history usually dominates volume. If the projection exceeds your window, split the load or trim activity scope now.

  6. Let reps work the pilot data

    Sales leadership 2-3 days

    Put two or three reps in the sandbox against their own accounts. They spot missing context, wrong owners and unusable notes far faster than any reconciliation script, and their buy-in is what makes adoption work.

Don't move on until

  • Relationships intact across the whole pilot slice
  • Pipeline roll-ups match source for the pilot accounts
  • Reps have worked pilot records and confirmed they are usable
05 Cutover Switch the revenue system with the pipeline intact. 0/6

Objective All in-scope CRM data live in uGru CRM, integrations repointed, and reps selling on day one.

  1. Pre-load history ahead of the freeze

    Data engineer 5-10 days

    Load closed deals, historical activities and inactive accounts while Clarify stays live. Only open pipeline and the final delta need to move inside the window.

  2. Publish the cutover runbook

    Project manager 1 day

    A timed sequence with owners and abort criteria: freeze, final export, delta load, integration switch, smoke test, go/no-go, rep enablement. Pick a window that avoids quarter-end and month-end close.

  3. Freeze Clarify and take the final delta

    RevOps 2-4 hours

    Set Clarify read-only and export everything changed since the pre-load. Reps updating deals during an unenforced freeze is the classic way to lose the most recent — and most valuable — pipeline changes.

    A rep who updates a deal in the old CRM during the freeze will lose that update permanently.

  4. Load the delta and reconcile the pipeline

    RevOps 2-6 hours

    Run the delta, then verify open pipeline value and count per rep against Clarify before anything else. If the pipeline number is wrong on day one, reps stop trusting the system and never fully come back.

    Migration Validation Tool Confirm the final delta landed before you reopen
  5. Repoint every integration and verify with real records

    IT / integrations 4-8 hours

    Switch marketing automation, quoting, billing, enrichment, dialler and BI connections, then push a live record through each path. An unrepointed integration writing into the old CRM causes divergence that gets harder to reconcile every day.

    Two-way integrations left pointing at the old CRM will keep writing there. Disable them before you switch, not after.

    Cron Expression Builder Schedule the delta syncs that run through the freeze
  6. Go/no-go, then enable the reps

    Project sponsor 1-2 days

    Call the decision explicitly against the exit criteria. Run enablement on real data with their own accounts on screen, and keep Clarify read-only rather than cancelled until validation closes.

Clarify → uGru CRM specifics

Big bang
Extract everything, import over a weekend, cut over Monday morning. Works for firms under 2,000 clients with tolerance for a 48-hour CRM blackout.
Incremental
Migrate historical data first, then run delta syncs for new records created during the transition. Best for firms that can't afford any CRM downtime. Requires Zapier/Make or a custom sync script.

Don't move on until

  • Historical load complete and reconciled before the freeze
  • All integrations repointed and verified end to end
  • Reps logged in with pipeline visible and correct
06 Validation Prove the revenue numbers tie out, then close the project. 0/6

Objective Reconciled data, forecast parity with pre-migration reporting, and signed acceptance.

  1. Reconcile every object

    Data engineer 2 days

    Compare counts and values across accounts, contacts, deals, activities and files, plus field-level spot checks on a random sample. Produce a single report suitable for audit and for finance.

    Migration Validation Tool Reconcile Clarify and uGru CRM record-for-record
  2. Tie the pipeline and forecast to baseline

    RevOps 2-3 days

    Rebuild forecast, pipeline coverage and win-rate reporting and compare to pre-migration figures. Every variance needs an explanation — most trace back to stage or currency mapping decisions made in Field Mapping.

    Stage-model changes will legitimately shift historical conversion rates. Restate the baseline rather than chasing the difference as a defect.

  3. Verify ownership, visibility and permissions

    RevOps 1-2 days

    Confirm every record has the right owner and that sharing rules, territories and role hierarchy give each rep exactly the visibility intended. Over-broad visibility in a CRM is a data-protection issue as much as a config one.

  4. Re-profile for field completeness

    Data engineer 1 day

    Compare loaded null rates against the source profile per field. A field that arrived empty while counts matched is the failure counts alone cannot detect.

    Data Profiler Prove field completeness held up through the load
  5. Test automation and integration write-back

    RevOps 2 days

    Fire every workflow, assignment rule, sequence and notification, and confirm each integration writes correctly in both directions. Automation is rebuilt rather than migrated, so it is unproven until observed.

  6. Sign off and schedule decommission

    Project sponsor 1 day

    Get written acceptance against the Discovery criteria, keep Clarify read-only for 30-90 days with a final archive export taken, then diarise cancellation so the contract does not auto-renew.

Don't move on until

  • Full reconciliation report complete across all objects
  • Forecast and pipeline reports tie to pre-migration baselines
  • Acceptance signed and Clarify decommission scheduled

Field mapping reference

The field-by-field mapping for each object. Use this as the starting point for your mapping spec.

Object Target 6 fields high

UGRU has no support for arbitrary custom objects, so all data stored in Clarify's `c_*` custom objects must be flattened into notes or attachments or abandoned, representing an irreversible structural data loss.

Clarify fielduGru CRM fieldNotes
person Contact (Client, Prospect, Vendor, or Associate type) Map person.type or deal stage to UGRU contact category. Add Household_Name column.
company Account / Organization (Entity) UGRU links individuals to entities via household structure
deal Opportunity Pipeline stages must be manually recreated in UGRU's pipeline settings
meeting Calendar Event or Note Meeting transcripts → notes with date prefix
task Task / Follow-up Map to UGRU's task system; preserve due dates
c_* (custom objects) No equivalent Flatten to notes or archive as attached documents
Clarify UGRU 18 fields
Clarify fielduGru CRM fieldNotes
person.name.first_name First Name Direct
person.name.last_name Last Name Direct
person.email_addresses.items [0] Email Extract first element
person.email_addresses.items [1] Email 2 Extract second element (discard items [2+] or append to notes)
person.phone_numbers.items [0] Phone Extract first element
person.phone_numbers.items [1] Phone 2 Extract second element
person.title Title Direct
company.name Account Name Direct
company.domains.items [0] Website Extract first element
deal.name Opportunity Name Direct
deal.value Opportunity Amount Direct
deal.stage Pipeline Stage Map to UGRU pipeline values via lookup table
deal.close_date Expected Close Date Reformat to MM/DD/YYYY
meeting.summary Note Body Prepend meeting date: [2024-01-15 Meeting] ...
task.title Task Subject Direct
task.due_date Due Date Reformat to MM/DD/YYYY
(constructed) Household_Name Derive from spouse pairs, shared addresses, or manual assignment
(constructed) Contact Type Map from deal stage: has active deal → "Client"; no deal → "Prospect"

Risk matrix

Per-object risk for this pair. Plan extra validation around anything marked high.

ObjectRiskNotes
Contacts medium Standard contact fields map reasonably well, but multi-value fields like email address arrays require splitting and the absence of a household grouping in Clarify means significant manual work is needed to reconstruct UGRU's Individual–Household relationships.
Companies / Accounts low Clarify's `company` object maps directly to UGRU's Account or Entity tier, and basic firmographic fields transfer cleanly via CSV, making this one of the lower-risk entity types in the migration.
Deals / Opportunities medium Clarify's deal object and pipeline stages can be mapped to UGRU's Opportunities module, but pipeline stage naming conventions will likely differ and relational links to contacts and companies must be re-established post-import.
Custom Objects high UGRU has no support for arbitrary custom objects, so all data stored in Clarify's `c_*` custom objects must be flattened into notes or attachments or abandoned, representing an irreversible structural data loss.
Activity History high Meetings, tasks, and activity stream records from Clarify do not export cleanly to CSV and have no direct UGRU import target, making full activity history migration impractical without a custom ETL pipeline.
Household Groupings high Clarify has no household concept, so spouse and partner relationships must be identified from custom fields, notes, or implicit associations and manually assigned household identifiers before UGRU import, a process that is highly error-prone at scale.
Relationships / Associations high Clarify's typed many-to-many relationships between people and companies are not preserved in CSV export and must be reconstructed using crosswalk tables, with no guarantee of complete fidelity in UGRU's more rigid relational hierarchy.
Financial Plan Data low Clarify does not contain financial planning data, so there is no source data of this type to migrate; UGRU's financial planning modules will be populated from scratch post-migration.
Email / Communication Archives medium Clarify does not provide native FINRA-compliant email archiving, so historical email communications are unlikely to exist in a format transferable to UGRU's compliance archiving module, requiring firms to establish a new archiving baseline in UGRU.
Tasks and Calendar Events medium Open tasks and future-dated appointments may be manually transferable to UGRU's Follow-up Calls and Appointments modules, but historical completed tasks are unlikely to survive migration without a custom extraction and transformation step.

The hard parts

What makes this specific migration difficult, beyond the mechanics.

Custom Object Flattening Required

Clarify's custom objects (prefixed `c_*`) have no equivalent in UGRU's fixed schema, meaning all data stored in custom objects must be manually flattened into notes, attached as documents, or discarded entirely before import.

Household Hierarchy Construction

UGRU's three-tier Entity–Individual–Household data model has no counterpart in Clarify, requiring a manual or semi-automated process to identify spouse and partner pairs, assign consistent household identifiers, and restructure contact records before import.

Activity History Portability

Clarify's activity stream, meeting objects, and task records do not export cleanly to CSV and cannot be directly ingested by UGRU's import layer, resulting in significant loss of historical activity timeline data without a custom ETL pipeline.

Limited UGRU Inbound API Surface

Unlike the source platform's well-documented REST API, UGRU's inbound data ingestion is primarily CSV-based with a limited API surface, creating a bottleneck on the load side regardless of how cleanly data is extracted from Clarify.

Relational Link Destruction via CSV

CSV-based migration destroys Clarify's foreign-key-based relational links between people, companies, and deals, requiring crosswalk tables and careful column mapping to reconstruct even basic entity associations in UGRU.

Multi-Value Field Splitting

Clarify stores email addresses and similar fields as typed arrays (e.g., `email_addresses.items []`), which must be programmatically split into discrete flat columns before they can be mapped to UGRU's single-value or delimited field format.

Tools used in this playbook

All free, all run entirely in your browser — nothing is uploaded.

FAQ

Can I migrate custom objects from Clarify to UGRU CRM?

No. UGRU CRM does not support custom objects. Any custom objects in Clarify (c_* prefix) must be flattened into notes, archived as attached documents, or exported to CSV for separate storage. There is no programmatic way to create arbitrary entity types in UGRU.

What is the best way to import data into UGRU CRM?

UGRU's primary data ingestion method is CSV import via its built-in migration wizard. The tool auto-matches fields and checks for duplicates. Import in order: accounts/organizations first, contacts second, opportunities third. UGRU also offers free basic data migration assistance for new customers.

Does Clarify CRM have an API for data export?

Yes. Clarify provides a REST API following the JSON:API specification. It supports per-workspace API key authentication, paginated queries, relationship includes, and a rate limit of 3,000 requests per minute per endpoint. You can extract persons, companies, deals, meetings, tasks, and custom objects.

Does UGRU CRM have an API for migration?

UGRU's Statement of Services says a developer API is available, but public endpoint docs and rate limits were not surfaced in materials reviewed. CSV import is the documented and reliable path. Confirm API details directly with UGRU before building against it.

Will I lose data migrating from Clarify to UGRU CRM?

Some data loss is likely unless carefully managed. Custom objects, multi-value fields beyond primary/secondary, meeting transcript formatting, workflow configurations, and rich text formatting in notes may not transfer. Relationship links between contacts, companies, and deals are flattened by CSV export and must be rebuilt.

Or skip all of this and let us handle it

Book a 30-minute call and we'll scope your migration in a single session.