Core v1.1.10 · Modules v0.8.0¶
Released 2026-09-30. Updated 2026-10-08: added the settings a new org needs before install, and setup steps for Data Steward, My Contacts, List Builder default filters, the Data Quality issue scan and persona test users.
This release rebuilds CV Admin into a working admin home and adds Global Search, list sharing with people outside Salesforce, pitch templates with PDF output, event check-in, and two AI capabilities for email intake and data cleansing. It also carries a long run of fixes to lists, rollups, ERM review and MCAE. It covers everything since Core 1.1.7 · Modules 0.4.0, including the Core 1.1.8 and 1.1.9 and Modules 0.5.0 to 0.7.0 builds, which were never issued on their own.
Many of these features need setup before anyone can use them. Read Upgrade notes before you install.
Editions. Anything requiring Modules is marked 🧩. If your firm is on Core only, those items don't apply to you.
What you install¶
| Package | Type | Version | Package version | Who has it |
|---|---|---|---|---|
| ClientVerse Core | Unlocked 2GP, namespace clientverse |
1.1.10 | ClientVerse Core Unlocked@1.1.10-2 |
Every client |
| ClientVerse Modules | Managed 2GP, namespace clientverse |
0.8.0 | ClientVerse Modules@0.8.0-1 |
Optional add-on |
Modules 0.8.0 requires Core 1.1.10. Upgrade Core first, or the Modules install fails.
Installing into a new org? Turn on these three settings first, or the install fails. An org that already runs ClientVerse has them.
| Setting | Where | The install error without it |
|---|---|---|
| Contacts to Multiple Accounts | Setup > Account Settings | Core: Entity 'AccountContactRelation' is not found. Modules: Missing Organization Feature: ContactsToMultipleAccounts |
| State and Country/Territory Picklists, then Custom Address Fields | Setup > State and Country/Territory Picklists; Setup > Address Settings | Core: Invalid data type on its five Address fields |
| At least one Task record type | Setup > Object Manager > Task > Record Types | Modules: Missing Organization Feature: Task.RecordType |
Turn on Contacts to Multiple Accounts in Setup. Deploying AccountSettings with
enableRelateContactToMultipleAccounts reports success but leaves the setting off. See the
Implementation Guide.
Why Modules 0.8.0, not 0.7.0. Modules 0.7.0 was built but never released: two packaging problems stopped it from installing cleanly. 0.8.0 is that release with both fixed (see Fixes), so everything marked 🧩 below ships in 0.8.0.
Highlights¶
- CV Admin, rebuilt. CV Admin opens on a data-quality trend chart. Its tabs are My Work, Data Quality, Duplicates, Field Audit, Mass Update, Taxonomy and Automation. Duplicates shows duplicate sets with a completeness score and hands off to merge. A new Data Steward persona reaches these consoles without full admin access. (#363, #417, #424, #517)
- Global Search. Users can search several objects at once, with facets, table or card views, and saved searches they can share. It has to be activated and given one configuration record before users see it. (#440, #468)
- Share a list with someone outside Salesforce. A list owner can share a list with an email address. The recipient reviews it, adds or removes members and leaves notes on a page that needs no login. Each link has one purpose, can be revoked, and is audited. This needs an Experience Cloud site. (#453, #454, #456, #458, #463)
- Business Plans get a Private sharing model, with access through the Plan Team. Every persona can now read plans and objectives, and objectives gain target, actual and progress fields. New installs start Private. An upgrade keeps the org's existing setting, so nobody loses access; switch when you're ready (see Upgrade notes). (#497)
New¶
- My Contacts panel. On list, campaign and BD/Marketing home pages, it splits the user's own relationships into "on this list" and "not on this list", with a coverage meter. It needs ERM relationship data. (#387)
- Pitch lifecycle, templates and PDF. Pitch elements now snapshot their content when added, so a delivered pitch no longer changes when someone edits a bio. Pitches move through Draft, In Review, Approved, Delivered and Archived. A template can seed an empty pitch. A PDF can be generated from the snapshots and stored as a versioned File, but no button for it ships yet. (#492, #493, #494)
- Calendar invites for events. Event and Webinar campaigns can download an .ics file, or publish a stable public link for the invite email, RSVP and landing page. Republishing updates the entry already in attendees' calendars. (#502)
- Lead approval gate (opt-in). A Lead can be held in a Data Steward queue and approved or rejected before it's converted. Read the warning in Upgrade notes before you create the queue. (#378, #430)
- Sponsor attribution. Adding someone to an event or a list records the adding user's firm-personnel Contact as Initial Sponsor, and appends later sponsors. (#485)
- Help tab. The six original CV apps get a Help tab that links to this documentation site. It needs one configuration record. (#448)
- Classification taxonomy fields. Fifteen new Classification fields:
- an abbreviation;
- a legal/non-legal flag;
- nine type checkboxes for filtering;
- four fields recording which system a value was loaded from.
(#515)
- New fields.
- IA_Legacy_Data__c on 27 objects, to hold InterAction data.
- 20 Opportunity, Account, Contact and Matter fields, with Relationship Band and Fees Band
value sets.
- A Contact Assistant lookup.
- Data_Confidence__c on Account, Contact and Lead.
- The full ERM field set on the Lead page.
- Nine Experience and Experience Party fields.
- Target object and record on Clientverse_Log__c.
(#401, #431, #441, #469, #487, #491) - 🧩 Event Check-In. - A staff console on the Campaign: roster, search, tap to check in, guest count, and CLE check-out. - A self-service kiosk. - De-duplication of walk-ins. - An email to the sponsor when a guest arrives. - Close Attendance, which marks no-shows.
None of the three components is placed on a page yet. (#520)
- 🧩 AI Email Ingestion. A lawyer forwards an email to a firm address. AI classifies it,
matches real Contacts and Accounts, and proposes a Task or Event for a person to confirm. It
never creates an Opportunity itself, and it ships switched off. (#501)
- 🧩 AI Data Cleansing. AI suggests fixes to casing, phone formats and abbreviations, and
fills empty Account and Contact fields. Each suggestion is staged for a steward to accept or
reject; applying suggestions automatically is blocked by three separate settings. (#507)
- 🧩 Whitespace plan coverage. The whitespace heatmap shows plan coverage, a three-year trend
and a grid scoped to one plan. New reports and dashboards cover plans and practice targets.
(#451)
- 🧩 Group By in dispatch tables. Digest emails and review tables can group rows by one
column, or by several nested columns. (#425, #530)
- 🧩 Bulk Lead conversion for Flow. clientverse.LeadConversionInvocable lets a firm's own
Flow convert Leads to Contacts in bulk. (#479)
Improvements¶
- List Builder filters. Filters support AND/OR with parentheses, and "has / has no related record matching…" conditions, for example "has a Connection scored 3 or higher". Related-record filters now work in namespaced orgs. The Manual update frequency is retired. (#471, #474)
- List Builder default Contact filters. A new Contact list can start from 13 ready-made filters (company, location, title, relationship strength). A Setup Checklist step creates them. (#364, #445)
- List sharing. An owner can remove one person or group without clearing everyone else's access. The share picker no longer shows raw Ids or system groups. (#376, #412)
- Exclusions always win. An exclusion from any source list now overrides an inclusion from another, whatever order the background jobs finish in. (#388)
- Dynamic record naming. Objects with a naming rule get a consistent name. Manual overrides are logged, and names no longer change on unrelated saves. (#423, #437, #465)
- Data Quality queue. New Field Name and Detected Date filters, related record names instead of Ids, and a retention preview that respects the configured window. (#424)
- CV Admin refresh. Refresh buttons on the Setup Checklist, the Rollup Monitor and other consoles now refresh and report errors. (#417)
- Rollups.
- Several rollups on one parent now write once, instead of re-running the parent's automation once per rollup.
- CONCAT, FIRST and LAST clear when the last child is removed.
RollupSchedulercan be scheduled from a customer org.
(#439, #443, #444) - MCAE. - Campaign-member statuses are provisioned from configuration. - The linked campaign is pre-selected, and "Open in MCAE" opens inside Salesforce. - Irreversible actions ask for confirmation. - Several approved templates are allowed per asset type. - Consent is mirrored onto Campaign Member. - The button is renamed "Sync to MCAE". - Emails are cloned from an approved template. - The folder picker works past 200 folders.
(#402, #411, #435, #442, #470, #504)
- 🧩 ERM review timing. A record can no longer be auto-promoted before its principal's digest
has shown it. The review window runs from when the digest was actually sent, and each digest
run schedules its own follow-up. (#391, #392, #394, #438)
- 🧩 ERM digest email.
- Deadlines appear in Eastern and Pacific time.
- New pending-count and ReviewDeadline merge tokens.
- Action buttons are driven by their own configuration, so renaming an action no longer breaks
them.
(#379, #460) - 🧩 ERM magic-link actions. A new digest column lets a reviewer Promote or Mark Private from the email without logging in, and guest execution now works. This needs setup, and the shipped ERM definition doesn't use the column yet. (#503, #532)
Fixes¶
- Post-Meeting Capture. Double-clicking Finish no longer creates duplicate Tasks or Events, and each task in a multi-task follow-up starts blank. (#535, #536)
- Classification, Trip and Opportunity.
- Trip Target locator filters return full pages.
- The rule editor no longer shows stale values.
- Bulk and auto-assign cope with many active rules.
- Classification Rollups seed data loads.
- No extra Opportunity Contact Role is created.
- Tagging no longer deletes Primary Industry.
(#410, #414, #422, #426) - Collaborators. Two collaborator rows that differ only by Role or Primary are no longer treated as duplicates. See Known limitations. (#419) - 🧩 ERM Lead promotion. Promoting a Lead carries its relationship and capture date to the new Contact. Every promoting action, including Tag, now converts the Lead instead of leaving it stranded. (#408) - 🧩 Digest data table. It now loads in installed orgs, where it never ran before, and the Single Threaded column is correct. (#374) - 🧩 Outlook pane. It now resolves digests. The code it needs was never in the email subject. (#477) - 🧩 Digest clone. A cloned definition starts without the original's run state. (#484) - 🧩 Email limit. Sends to User overrides now count against the org's daily email limit. (#446) - 🧩 Auto-promotion. It no longer fails on the "ERM New Contact Review" template. (#506) - 🧩 Meeting Prep Brief. The AI action no longer fails credential validation once packaged, and its instructions are corrected. (#534)
- 🧩 ERM magic-link entry page. The guest page that opens an ERM magic link now works in installed orgs. It used to call Core directly in a way a separate package can't, and now goes through Modules. (65a6f8b)
- 🧩 Whitespace heatmap placement. The heatmap can now be added to any record page in Lightning App Builder, not only Account and Business Plan pages. On other objects it shows the firm-wide view. (65a6f8b)
Changes¶
- Data model cleanup.
- 15 duplicate fields removed.
- 6 fields renamed to use underscores:
Custom_Label__c,Worked_Hours__c,Mail_Signature_ERM__c,SIC_Code__c,Photo_Link__c,ERM_Principals__c. - 4 duplicate fields and the
Allocation__candCV_Content__cobjects retired. - Placeholder formulas that displayed the word "value" replaced.
See Upgrade notes. (#396, #495)
Security & compliance¶
- 🧩 Review links need a Confirm click. Opening an ERM review link no longer completes the action; the reviewer has to click Confirm. This stops mail scanners from approving or promoting a record when they prefetch the link. (#452)
- Pitch field-level security. Nine Pitch queries now enforce field-level security, so restricted fields no longer reach a pitch or its PDF. (#494)
- List sharing enforcement. A valid link for one list can no longer write to another list. View-only, add-only and remove-only sharing are now enforced on the server. (#453)
- MCAE admin overrides. The DNC and Privacy-Compliant admin override permission sets now work in installed orgs. (#415)
Admin & configuration¶
- Data Quality scores can be scheduled from a customer org. The documented setup step could not be run before. (#517)
- Persona test users and groups. Two Setup Checklist steps, off by default, create one public group and one test user per persona, for testing access. Each user takes a Salesforce license, so try them in a sandbox first. The users step looks up four profiles by name, and packages can't install profiles, so create them first: CV Admin User, CV Marketing User, CV Business Development User and CV Lawyer User. A copy of Standard User is enough, because access comes from the permission-set groups. Then run Persona Public Groups, then Persona Test Users. (#508, #511)
Groundwork (not yet usable)¶
These ship in this release, but a user can't reach them yet. Don't plan around them.
- Relationship Partner approvals and list review. This covers:
- rules, delegation and timeouts for partner approvals;
- partner review of marketing lists;
- a Plan Team with a Submitted stage for individual plans.
Nothing calls these yet, and there is no approval queue or email. The Client Intelligence tab on Client company pages, from the same work, is live. (#449, #455, #476) - 🧩 AI tool sources and field aliases. The architecture for several tool sources in AI chat, and for firm-level field aliases. (#472, #473)
Upgrade notes¶
Upgrade Core before Modules, and install in a sandbox first. Several of the changes below move data or change who can see what.
Required after upgrading¶
- Business Plans: choose when to go Private. 1.1.10 ships Business Plans with a Private sharing model and Plan Team access, but an upgrade doesn't change an existing org's setting: it stays Public Read/Write, so nobody loses access. (Confirmed on an upgrade from 1.1.7.) When you're ready to switch:
- add Plan Team members to the plans that need them;
- ask your ClientVerse implementation team to run the Plan Team access back-fill;
- then set Business Plan to Private in Setup, Sharing Settings.
- Four permission sets grant View All on Business Plans:
CV_Full_Access,CV_BD_Admin,CV_Analytics_Executive_AdminandCV_Executive_Analytics. Review who holds them. - Pitches: carry over element order. The pitch builder now reads only
Sort_Order__candElement_Type__c. - On existing pitches, copy
Element_Order__cintoSort_Order__cand fill inElement_Type__c. Otherwise existing pitches lose their order. - Grant read access to the Professional Profile fields that Bio elements use: Headline, Biography, Primary Image, Representative Matters, and contact email, phone and title. Use a profile or your own permission set; no packaged permission set can grant it. Without it, Bio elements are skipped.
- MCAE: recreate templates.
MCAE_Asset_Template__mdtis replaced by theMCAE_Provisioning_Template__cobject, and no migration ships. - Recreate each approved template as a record.
- The
Campaign.CV_MCAE_Sync_Membersquick action is removed. Update any custom page that used it. - Renamed fields arrive empty. The six renamed fields listed under Changes are new fields. The old ones are deprecated, not deleted, and keep their data. Check each old field for data and move it before you rely on the new field.
- 🧩 Convert to Opportunity button. Edit
CV_Convert_To_Opportunityon Task and Event so it points to/flow/clientverse__Opportunity_SCR_Create.
Read this before creating a Data_Steward queue¶
The Lead approval gate ships two flows that are active. As soon as a queue named
Data_Steward exists:
- every new Lead is reassigned to it, including Leads created by MCAE and ERM;
- its members get an email about each one.
Create the queue only when you want that. The conversion block, Block_Lead_Convert_Unapproved,
ships inactive. To complete the gate, activate it and add the Lead.Approve_Reject action to
your pages.
Turning features on¶
| Feature | What it needs |
|---|---|
| CV Admin | Schedule both Data Quality jobs; neither runs on install. For scores and the trend chart, run clientverse.DataQualityScoreScheduler.ensureScheduled(); once. For the issue queue, the nightly scan has no setup method, so schedule it in Execute Anonymous: System.schedule('CV Data Quality Issue Scan', '0 0 1 * * ?', new clientverse.DataQualityBatchScheduler());. To fill the queue now instead of overnight, also run new clientverse.DataQualityBatchScheduler().execute(null);. Create and activate Salesforce Duplicate Rules, because the Duplicates tab only lists what they find. Users see the app through CV_Full_Access, CV_Data_Manager, CV_Data_Quality_User, CV_Rollups_Admin or CV_Data_Steward. |
| Data Steward persona | Assign CV_Data_Steward, plus CV_Data_Manager and CV_Classification_Schema_Access. The group alone can't read Data Quality issues or Classifications, so without the other two, Home, My Work, Data Quality and Taxonomy fail to load for a steward. The package can't set a default app, so set one on the profile if you want it. |
| Global Search | Activate the CV_Global_Search_Component home page, which isn't assigned to any app, or place cvGlobalSearch on a page. Click Manage Configurations to create the first configuration, then paste its Unique ID into the page's Configuration ID. Facet and hover settings ship for Account and Contact only. |
| Help tab | Create one CV_Docs_Site__mdt record with Base_URL__c set to this site's root (no trailing slash), Version_Path__c set to latest, and Is_Active__c checked. |
| List Builder default filters | Run the List Builder Contact Filters step in the CV Admin Setup Checklist. The step saves its presets under Config ID CV_Default_Contact_Filters for Contact, but the shipped Campaign and List pages look up Config ID Template_One for their own object, so the presets don't appear there yet. Copy the seeded record's Filters__c into a List_Builder_Config__c record with Config_Id__c = Template_One and Object_API_Name__c = Campaign, and into another for clientverse__List__c. |
| My Contacts | Assign CV_Relationship_Intelligence_User to everyone who sees the panel, on the BD and Marketing home pages and on List and Campaign pages. No permission-set group includes it, so the panel errors without it. It lists Connection__c records that link the running user to a contact. |
| Share a list by email | An Experience Cloud site with a public page and the entry component. CV_Magic_Link_Guest on the site's guest user. Key_Vault.Community_Site_Name set. At least one Magic_Link_Policy__mdt record. Your implementation team can check the setup. |
| Calendar invites | Assign the Event and Webinar campaign record pages; the component isn't on the default campaign page. Enable Content Deliveries to publish invites. |
| Dynamic record naming | Object_Naming_Rule__mdt records (none ship), and CV automation switched on for that object. |
| 🧩 Event Check-In | Add cvEventCheckInConsole to the Campaign page, create an App Page for cvEventCheckInKiosk, and create a quick action for cvEventCloseAttendance. Assign CV_Event_Check_In_User_Access and CV_Event_Check_In_Admin_Access. Create a kiosk user on Minimum Access that has only CV_Event_Check_In_Kiosk_Access. Re-run the Notification Templates step in the Setup Checklist. |
| 🧩 ERM magic-link actions | An ERM Experience site, CV_ERM_Magic_Link_Guest on its guest user, a Magic_Link_Policy__mdt record, and a MagicLinkAction column added to your ERM definition. |
| 🧩 AI Email Ingestion | Assign CV_AI_Schema_Access, CV_AI_User (and CV_AI_Admin) and the CV_Use_AI_Actions permission. Create an Email Service on CVM_EmailIntakeHandler. Add a CV_Trigger_Setting record for Email_Intake. Set the AI provider key. Turn on Email_Intake_Setting.Default.Is_Active__c last, then run new CVM_EmailIntakeRetrySweepScheduler().ensureScheduled();. |
| 🧩 AI Data Cleansing | Assign the CV_AI_Cleansing_* permission sets, turn on AI_Cleansing_Setting__mdt, schedule AICleansingScheduler, and configure the AI provider credential. |
| 🧩 Whitespace coverage | Place cvWhitespaceHeatmap on a page (it isn't placed by default) and share the report and dashboard folders. |
Also check¶
- CV automation ships switched off.
CV_Trigger_Setting.Org_Default.Triggers_Enabled__cships as false. Features built on it do nothing until it's enabled for each object: - dynamic naming;
- list-member sponsor attribution;
- the pitch lock;
- email intake;
- walls and collaborators.
- Record-type page assignments don't install. Assign these pages by hand:
- the Event and Webinar campaign pages;
- record-type List and Campaign pages, which carry My Contacts;
- Prospective and Former Client pages, which carry the Client Intelligence tab;
- record-type Contact and Account pages, which carry the MCAE compliance fields.
- Flow actions in namespaced orgs. If
Classification_SCR_BulkAssignorOpportunity_SCR_Createshows an error, re-pick its Apex action in Flow Builder. - Re-run the Setup Checklist, so the new seed rows are created.
Known limitations¶
- Personas and app access. The original eight persona groups don't give access to a CV app or to Lightning Experience, so assign app visibility separately. Only the new Data Steward persona includes it.
- Components without a page. Some components ship unplaced, among them the three Event Check-In components, the Global Search home page and the whitespace heatmap.
- Legal Executive Assistant persona isn't in 1.1.10. It merged before the cut (#516) but landed on the release branch after the 1.1.10-2 package was built. It ships in the next release.
- Collaborator shares. A second collaborator row that differs only by Role or Primary is now kept, but creating its share can fail without an error.
- Governance card on Automation Health. The retention card calls an Apex class that no permission set grants, so it errors for anyone who isn't a System Administrator.
- Permission gaps with workarounds. The Data Steward group, My Contacts and the List Builder default filters each need an extra step, given under Turning features on. Fixes are planned for a later release.
Inventory¶
Counted from the released package versions, with the same method as the published 1.1.7 figures.
| Core 1.1.7 → 1.1.10 | Modules 0.4.0 → 0.8.0 | |
|---|---|---|
| Fields | 2,457 → 2,711 | 269 → 384 |
| Applications | 6 → 6 | 1 → 1 |
| Tabs | 60 → 69 | 11 → 13 |
| Permission sets | 66 → 74 | 11 → 20 |
| Permission-set groups | 8 → 9 | 0 → 3 |
| Lightning web components | 78 → 99 | 25 → 32 |
| FlexiPages | 131 → 139 | 13 → 14 |
| Flows | 30 → 33 | 4 → 5 |
Related¶
- User Guide: day-to-day use.
- Admin Guide: access, configuration and upgrades.
- Implementation Guide: first-time install.
- Feature guides: per-feature deep dives.
- Previous release: Core v1.1.7 · Modules v0.4.0.