Skip to content

Core v1.1.7 · Modules v0.4.0

Released 2026-08-26.

This is the first ClientVerse release notes published to customers. Earlier versions (v1.0.0 through v1.1.6) were reconstructed internally from merge history and were never issued, so this document does not assume you have read any of them. It covers the whole product as it stands today — what ClientVerse does, in full — and then, separately, what actually changed in this release.

If you are new to ClientVerse, read The product in full. If you are already running v1.1.6, skip to What changed in this release and Upgrade notes.

Editions. ClientVerse ships as two packages. Core is the foundational CRM that every client has. Modules is an optional add-on. Anything requiring Modules is marked 🧩 throughout — if your firm is on Core only, those sections don't apply to you.


What you install

Package Type Version Package version Who has it
ClientVerse Core Unlocked 2GP, namespace clientverse 1.1.7 ClientVerse Core Unlocked@1.1.7-6 Every client
ClientVerse Modules Managed 2GP, namespace clientverse 0.4.0 ClientVerse Modules@0.4.0-2 Optional add-on

Modules depends on Core, never the reverse — Core runs perfectly well alone. Modules 0.4.0 requires Core 1.1.7, which is a higher floor than 0.3.0 required; see Upgrade notes.

A note on the Core package name. In the Dev Hub, the Core package is registered as ClientVerse Core Unlocked. The product is still called ClientVerse Core, and this is the only Core line that ships to anyone. Two further packages (ClientVerse Core, managed and schema-only, and ClientVerse Core Plus) are declared in the build but are not yet developed against and install nowhere — see ADR-0010. Nothing about this changes what you install or how you upgrade today.

All counts and names below come from the synced package facts and are authoritative.


The product in full

ClientVerse is a Salesforce-native relationship and business-development CRM for law firms. It answers four questions the firm asks constantly: who do we know, what have we done, what are we pursuing, and how do we stay organized about it.

Core ships six Lightning applicationsCV_Lawyer, CV_BD, CV_Marketing, CV_Experience, CV_Intelligence, and CV_Admin — over 148 custom objects and 60 tabs, plus fields it adds to 13 standard Salesforce objects (Account, Contact, Opportunity, Campaign, Lead, and others).

Relationships & contact intelligence

  • Connections (Connection__c) record how the firm is actually connected to a person, sourced from the firm's ERM (relationship intelligence) system. This is what answers "who here has the strongest relationship with this person?" rather than merely "is this person in the database?"
  • Relationship strength on Contact lets you narrow "who do we know here" to "who do we know well here", both in search and when picking BD targets.
  • Relationship Insights — a configurable component that surfaces the relationship picture on a record page, backed by a query adapter so a firm can point it at its own relationship source without custom code.
  • Client Locator turns criteria into a concrete list of clients or contacts, searching across relationships and classifications instead of a single list view. Results can be saved as a Saved_Search__c to re-run, share, or drive a list.
  • Engagement scoring computes a weighted engagement measure from activity, with the weights configurable per firm (Engagement_Score_Weight__mdt).
  • Post-meeting capture records the outcome of a meeting — including an AI-assisted summary — straight onto the relationship record.
  • Touchpoints and Touchpoint Summaries aggregate interaction history so partner-facing reports can show real contact cadence.

Matters & experience

  • Matters (Matter__c) are the firm's legal work, sourced from the practice management system, which remains the system of record. ClientVerse's job is to make them usable — client history, who worked on what, and the experience that hangs off them.
  • Experience (Experience__c) is the described, reusable record of work — the deals and cases you cite in pitches, proposals, league tables, and directory submissions. It is the richest object in the product.
  • Experience Holders (Experience_Holder__c) link people to experience with the role they played, which is how an individual's experience profile assembles itself.
  • Supporting structure for litigation and transactional detail: Experience Narratives, Experience Parties, Case Parties, Court Cases, Judges, and Competitors.
  • Financial Summaries, Time Entries, Timekeepers, and Timekeeper Summaries carry the financial picture, gated behind their own permission set so it is visible only to those who should see it.

Business development

  • Trip planning (Trip__c, with legs, targets, participants, and business plans) turns "I'm in London next month" into a structured set of meetings with the right people — with smart target identification drawing on Connections and relationship strength.
  • Trip execution & tracking follows the trip through to outcomes, with trip materials assembled onto the Trip record.
  • Pitch / Proposal Builder (Pitch_Proposal_Builder__c, Pitch_Element__c) assembles a pitch from reusable elements — experience, bios, credentials — rather than rebuilding each one from scratch.
  • Market research requests (Market_Research__c) let BD request and track research against a target or pursuit.
  • Referrals (Referral__c) track business referred in or out, for relationship and revenue attribution.
  • Recognition (Recognition__c, Recognition_Contact__c) records awards, rankings, and directory recognitions, and ties them to the people who earned them.
  • Target Clients, Company Profiles, Strategic Intelligence, and Intelligence Assets hold the competitive and account-planning picture.
  • BD partner reports surface activity touchpoints and upcoming events for the partners who own the relationships.

Marketing, lists & campaigns

  • List Builder creates static lists (you pick the members) or dynamic lists (you define criteria and membership maintains itself), tracked as List__c / List_Member__c. Lists feed campaigns, invitations, and — with Modules — digests.
  • Source Lists and the list sync engine keep a list aligned to an upstream source.
  • List Builder flow configurations let admins drive list building from configuration rather than code, and a screen flow adds contacts to a list or campaign directly from a record.
  • Campaign member status rules keep campaign member statuses consistent across the firm's campaign types.
  • Send coordination and oversend prevention guard against the same contact being emailed too often across uncoordinated campaigns — the contact-level frequency signal is computed from actual activity.
  • Firm Content (Firm_Content__c) and Authors manage the firm's publishable material.
  • Events, Venues, and Budgets support event planning and its costs.

Classification & taxonomy

  • Classifications (Classification__c) are the firm's taxonomies — practice areas, industries, regions, segments — and Classification Assignments (Classification_Assignment__c) are how those tags attach to records. Almost every other feature's quality depends on this being clean.
  • The Classification Picker is a configurable, auto-saving component for applying tags on a record page, with configurable fields per object.
  • Bulk assign classifications applies tags across many records at once.
  • Classification usage analytics show which parts of the taxonomy are actually used, so stewards can retire the parts that aren't.
  • Classification mappings and SIC-range auto-assignment derive tags automatically from incoming data.
  • Classification saved searches let stewards keep and re-run taxonomy queries.

Collaboration & sharing

  • Walls (Wall__c) are collaboration spaces with role-based membership — a shared workspace scoped to a client, a pursuit, or a practice group, without changing who owns the underlying records.
  • Collaborators (Collaborator__c) model who works with whom, which is what drives the sharing decisions.
  • Public group sharing extends Wall sharing to Salesforce public groups, so existing firm groupings can be reused instead of rebuilt.
  • Private Records support keeping a relationship confidential where the firm's policy requires it.

Data quality, governance & admin tooling

  • Data Quality Monitoring (Data_Quality_Issue__c, Data_Quality_Score__c) finds and scores data problems so they can be worked rather than discovered by accident.
  • Data validation & account enrichment proposes corrections (Enrichment_Proposal__c) for review instead of silently overwriting.
  • Governance policies (Governance_Policy__c, Governance_Settings__c) let the firm define and enforce its own data rules.
  • Bulk operations & mass update tools — CSV import with fuzzy dedupe and column mapping, bulk add to lists and campaigns, bulk activity logging, and a mass-update tool — all with an audit trail on Clientverse_Log__c.
  • Merge Records performs a deep merge of duplicate records across their related data.
  • Rollups engine (Rollup_Definition__c, Rollup_Config__mdt) computes summary values declaratively — including distinct counts and relationship-path traversal — so firms stop writing custom Apex for aggregation. Rollup configuration is distributable between orgs.
  • Account hierarchy and Client Groups (Client_Group__c) model brand-level and grouped client structures above the individual account.
  • Admin Setup Checklist walks a new org through configuration with a dynamic seed-data framework.
  • Generic Export exports any object's data, including child records, with a guided picker.
  • Related Tree Grid shows hierarchical related records inline on a record page.
  • Named Query framework gives admins safe, reusable, parameterized queries to drive flows and components.
  • DMS Document Links (DMS_Document__c) associate documents held in the firm's document management system with ClientVerse records.
  • Automation kill switch lets an admin disable packaged automation per object — essential during a large data load.
  • Logging — everything operational writes to Clientverse_Log__c, one place to look when something fails.

Under the platform

  • Every custom object routes through a single trigger into a domain layer (110 triggers across Core), so behaviour is consistent and firms can extend it through a published extensibility interface rather than by editing packaged code.
  • An overlay extension API gives per-firm implementations defined extension points.
  • Security is private-first: org-wide defaults lock objects down and access is granted in layers through permission sets and permission-set groups — never profiles.

Integrations

  • PMS / financial — matters, timekeepers, time entries, and financial summaries flow in from the practice management system.
  • ERM / relationship intelligence — Connections and relationship signals are fed by the firm's ERM provider, with a configurable query adapter so the provider is swappable.
  • MCAE (Marketing Cloud Account Engagement) — a v5 transport layer with authentication, callout handling, DTOs, field mapping, form-handler mapping, communication-type mapping, and template-based asset scaffolding. Contact and Lead carry a parity field set so records sync cleanly in both directions.
  • DMS — document links to the firm's document management system.

🧩 ClientVerse Modules

Modules 0.4.0 ships 21 objects, 11 permission sets, and one application (CV_Dispatch_Setup), across five module areas.

🧩 Dispatch — notifications & digests. A data-driven digest engine: an admin defines who receives what content on what schedule through which channel; a scheduled run evaluates the definition, builds one item per recipient, renders it, and delivers by email and/or in-app notification. Digests are composed of sections — rich text or data tables — and can carry action buttons that let a recipient act without logging in first. Every send is auditable through Dispatch_Run__c and Dispatch_Run_Item__c. Dispatch also powers the ERM relationship review workflow: a review queue, reviewer actions, auto-promotion on a batch schedule, and subscription management.

🧩 Whitespace — revenue opportunities. Scores each account against the practice areas the firm could serve but doesn't yet, writing one WhiteSpace_Opportunity__c per gap with a composite score, component scores (client tier, peer coverage, relationship strength, revenue potential), coverage status — including lapsed coverage, usually the most actionable signal — and a recommended action. Weights and thresholds are configurable, and the top opportunities can be delivered as a Dispatch digest.

🧩 AI — in-platform chat and AI actions. The CV AI Chat interface (CV_AI_Chat tab and FlexiPage) is now in the package, alongside the AI Actions framework, adapter limits, and system prompt configuration. See Early access below before enabling it.

🧩 Analytics — Power BI & Tableau embedding. Components that embed Power BI and Tableau visualizations onto ClientVerse pages and flows, each with a custom property editor so the placement is configured, not coded, and connections defined in CV_BI_Connection__mdt. Also early access.

🧩 General. Background automation shared across the modules, with no objects or UI of its own.


What changed in this release

The delta from Core 1.1.6 · Modules 0.3.0 (2026-08-03) to Core 1.1.7 · Modules 0.4.0.

This release is the exit point of the August 2026 stabilization freeze — four weeks during which no new features were accepted and the work was defect fixing, test coverage, documentation, and release readiness. Much of what follows therefore landed in the wrap-up sprint immediately before the freeze, and the freeze itself is why the fix list is long and the feature list is focused.

Highlights

  • 🧩 AI Chat and BI visualization ship in the package for the first time. The 1.1.6 notes described AI as "coming, not available" — it is now present in Modules 0.4.0, along with the Power BI and Tableau embedding components (#191). Both are permission-gated and off until you turn them on.
  • Bulk operations and mass update tools. CSV import with fuzzy duplicate detection and column mapping, bulk add to lists and campaigns, bulk activity logging, and a mass-update tool — the single largest addition to what an administrator or power user can do without a data loader. (#297)
  • The permission-set model gained a tiered structure. Core now ships 66 permission sets (up from 24) and 8 permission-set groups, organized as Schema Access / User / Admin per functional area. The change is additive — every set that existed in 1.1.6 is still present, so existing assignments keep working — but the tiered sets are the model to move to. (#317)
  • MCAE integration reached working scope, with field mapping, form-handler mapping, communication-type mapping, and template-based asset scaffolding. (#249, #351, #341)

New

  • Bulk Operations & Mass Update Tools — CSV import, bulk add, bulk activity, and mass update, with job tracking consolidated onto Clientverse_Log__c. A Campaign quick action launches Bulk Add directly. (#297)
  • Bulk assign classifications across many records in one operation. (#325)
  • Classification usage analytics — reporting on which taxonomy nodes are actually in use. (#293)
  • Distributable rollup configuration (Rollup_Config__mdt) — move rollup definitions between orgs as configuration. (#321)
  • Collaborator public group sharing — share a Wall with an existing Salesforce public group. (#300)
  • Send coordination & oversend prevention, including an activity-sourced send signal so frequency is measured from what actually happened. (#276, #280)
  • List Builder flow configurations — drive list building declaratively. (#308)
  • Contact → Related Company lookup, with last-12-months and financial context. (#330, #305)
  • Contact ↔ Lead field parity so both objects carry the same marketing-relevant fields. (#316)
  • Employee type and timekeeper fields on Contact and User. (#314)
  • Client Close Date on Account, and campaign member status rules. (#340)
  • Overlay extension API — published extension points for per-firm implementations. (#301)
  • 🧩 Power BI & Tableau flow visualization components, with custom property editors. (#191)

Improvements

  • Classification search UI/UX was reworked for speed and clarity. (#334)
  • SIC-range auto-assignment derives classifications from incoming industry codes. (#326)
  • Classification and contact rollup fields extended onto Opportunity, Campaign, Account, and Contact. (#352)
  • Account hierarchy behaviour was reviewed and corrected against real data. (#279)
  • Lead lookups added on List Member, List, and classification assignment, so leads participate in list building alongside contacts. (#347, #332, #329)
  • Campaign export field labels corrected. (#283)
  • 🧩 Dispatch was refactored, with scheduling, batching, and acceptance-criteria fixes across several passes. (#273, #311, #318, #324)

Fixes

  • Trip planning and BD6 fixes across several rounds: pagination totals, an unbounded contact address search that could exhaust heap on large orgs, trip page and layout corrections, and lookup filters. (#292, #336, #342, #356)
  • Classification epic remediation — a series of correctness fixes across the classification feature set. (#312, #323, #359)
  • Rollup engine acceptance-criteria fixes. (#296)
  • List Builder access corrected for non-admin users. (#361)
  • Meeting prep brief fixes. (#299)
  • 🧩 ERM digest fix — the digest data table no longer renders a stale configuration when its wire response arrives out of order. (#362)
  • 🧩 ERM lead conversion is now gated by an explicit auto-promotion setting, and bulk conversion failures are isolated per record rather than failing the batch. (#333)
  • 🧩 Dispatch Run Item field-level security on Task corrected. (#339)
  • Forbidden-token visibility fix. (#337)
  • Wall object description corrected. (#357)

Changes

  • Audit_Log_Import__c and Mass_Update_Job__c were retired. Job tracking for bulk operations consolidated onto Clientverse_Log__c. If you built reports against either object, re-point them. (#297)
  • Contact diversity picklists were consolidated into Ethnicity plus an Is Diverse flag; DiverseSO__c is deprecated. Reports and list views filtering the old fields need updating. (#344)
  • A picklist value audit replaced placeholder values across Core. Any integration or report keyed on a placeholder value needs re-pointing. (#345)
  • Campaign time zone values were standardized. (#355)
  • Lookup field naming convention applied repo-wide; some relationship names changed. (#253)
  • 🧩 The Modules → Core dependency floor moved to Core 1.1.7 (from 1.1.4). See Upgrade notes.

Security & compliance

  • The permission-set restructure (#317) added Schema Access / User / Admin tiers per functional area alongside the existing sets. This makes it possible to grant schema visibility without also granting the code access and admin capability that a single broad set used to carry — the practical benefit is least-privilege assignment for roles that previously had to be over-granted.
  • Packaged metadata cleanup removed components that should never have shipped and tightened what the package grants. (#315)
  • A security review was run against the package during the freeze, and its findings triaged as part of the release-readiness workstream.

Admin & configuration

  • Review permission-set assignments against the new tiers. Nothing breaks on upgrade — the restructure added sets rather than replacing them — but the tiered model is what new access should be granted through.
  • New configuration metadata: Rollup_Config__mdt (distributable rollups), CV_CampaignMember_Status_Rule__mdt, Client_Status_Config__mdt, Classification_Captured_Field__mdt, and three MCAE mapping types (MCAE_Asset_Template__mdt, MCAE_Communication_Type_Map__mdt, MCAE_Form_Handler_Field_Mapping__mdt).
  • Restriction rules are not packaged. Show_Wall_Accounts and Show_Wall_Records are configured manually in the org after install — Salesforce does not support packaging restriction rules in 2GP, managed or unlocked.
  • Lightning page assignment for Opportunity and Trip is a post-install admin step rather than packaged metadata.

Under the hood

  • The repository moved to a four-package layout, and a security-review report was produced for the foundation package. Neither changes what you install today. (#338, #309, #286)
  • A Playwright end-to-end test harness and incremental QA CI were added, and the full Apex suite was brought green during the freeze. (#320, #348)

Upgrade notes

Upgrade Core before Modules. Modules 0.4.0 declares a dependency on ClientVerse Core Unlocked@1.1.7-6, so Core 1.1.7 is the floor — higher than the Core 1.1.4 floor that Modules 0.3.0 required. An org on an older Core must upgrade Core first or the Modules install will fail.

Permission-set assignments carry over — but review them. The restructure is additive: all 24 sets from 1.1.6 still exist, so nothing breaks on upgrade and no emergency reassignment is required. What you gain is 42 new tiered sets and two new groups (CV_Admin_Team, CV_Lawyer_Team). Plan a deliberate, unhurried migration to the tiered model, because it lets you stop over-granting roles that previously needed a broad set for one capability. Assign permission-set groups by role and layer individual sets only for exceptions.

Re-point what depended on removed or changed fields. In order of likely impact:

  1. Reports or list views on Audit_Log_Import__c or Mass_Update_Job__c — both retired.
  2. Anything filtering the old Contact diversity picklists, including DiverseSO__c.
  3. Anything keyed on a placeholder picklist value replaced by the audit.
  4. Integrations referencing a lookup relationship name changed by the naming-convention pass.

Sandbox first. Install into a sandbox, smoke-test the six apps and the security model, run a rollup recalculation if you have loaded data, and scan Clientverse_Log__c for new errors before promoting.

Post-install manual steps. Configure restriction rules and assign the Lightning pages for Opportunity and Trip — neither ships as packaged metadata.


Early access

Two capabilities ship inside Modules 0.4.0 but are off until you assign their permission set, and the engineering feature registry still tracks them as maturing. Treat them as early access: enable them deliberately, in a sandbox, for a small group.

Capability Turn on with Registry status
🧩 CV AI Chat — in-platform chat interface CV_AI_Chat_User (plus CV_AI_User / CV_AI_Admin) In QA
🧩 Power BI / Tableau embedding CV_BI_Visualization In progress

Neither is enabled for any user until you assign its permission set, and nothing else in the product depends on them — leaving both off is a fully supported configuration.

AI Chat sends CRM data to a third-party provider. Queries are answered by Anthropic (Claude) or OpenAI (ChatGPT), and the firm's query results are included in those calls. Record access is properly enforced — queries run in USER_MODE, so the assistant cannot reach a record the user could not already open — but the decision to send firm data to an external model is a policy question for the firm, not a configuration step. Settle it before enabling. Prompt-injection hardening is also explicitly incomplete at this stage. See the Admin Guide §13.

Known limitations

  • Integrations are not covered by automated testing. No integration test environment exists yet for MCAE, PMS/financial sync, the ERM feed, or DMS links. The August regression run explicitly does not establish that these integrations work end to end; validate them against your own data during implementation. This is the largest coverage gap in the product and is scheduled work.
  • Field-level documentation is incomplete. 36% of Core fields and 11% of Modules fields carry a description in Setup. Object-level descriptions are effectively complete (92% Core, 90% Modules). Backfilling field descriptions is in progress; the annotation backlog tracks what remains.
  • Inline help text is sparse — 4% of fields on both packages.
  • Test automation covers a small fraction of the manual regression suite; most QA is still manual.

Inventory

Generated by the package-facts sync from cv-crm main on 2026-09-05. Full detail: sync-report.md.

Core 1.1.7 Modules 0.4.0
Custom objects 148 21
Standard objects extended 13 3
Fields 2,457 269
Applications 6 1
Tabs 60 11
Permission sets 66 11
Permission-set groups 8
Apex classes 708 184
Apex triggers 110
Lightning web components 78 25
FlexiPages 131 13
Flows 30
Record types 35

Why there is no count-delta table against 1.1.6. The 1.1.6 facts were generated from the packages/core directory; 1.1.7's come from packages/unlocked-core, which the four-package restructure created in between. The two are the same product line but not the same directory, so a numeric diff across that boundary would compare a rename to a change. The narrative delta above is derived from the merge history directly.