Skip to content

Try the demo in a scratch org

Detailed page. Use “On this page” to jump directly to the section you need.

Use a disposable Salesforce scratch org to explore Record Health Check with prepared records. Choose whether to evaluate the latest released package or the examples in the current source before running commands.

You need Git, Node.js with npm, Salesforce CLI, and a Dev Hub that can create scratch orgs. A Dev Hub authorizes temporary Salesforce orgs. An alias is the local name used by CLI commands to identify an org. If you only have a sandbox login, use Install and verify.

Use the tool versions specified in the repository toolchain configuration. Run npm run check:toolchain after installing dependencies to check your environment. On Windows, use PowerShell, Command Prompt, or Git Bash. On macOS or Linux, use your terminal.

To evaluate the released package in a scratch org, follow Install and verify using that org as the target. Use the latest-release installation link for Production or Developer Edition. Complete the permission and record-page setup in that guide.

For a prepared installed-package demo, use npm run setup from the source checkout associated with that release and follow its included demo instructions. Keep its setup scripts, Check definitions, and expected results together; the current development checkout can contain examples that the released package does not yet include.

The remaining sections describe the prepared dataset and expected results for this checkout. Use a scratch org with the matching source deployed to try all four Check Sets below.

For a scratch org with the current source already deployed, run these commands from the current repository checkout, replacing your-scratch-org with its alias:

Terminal window
npm ci
npm run demo:setup-source -- --alias your-scratch-org
npm run demo:verify-source -- --alias your-scratch-org

If you need to create a source scratch org first, follow Source development. That workflow is for development and evaluation; install a released package in subscriber sandboxes and production orgs.

The seed command creates or reuses Jordan Blake, creates the business records, deactivates Jordan, and verifies all four example Check Sets. It does not add Lightning components or list views. For the demo list views, deploy only these files from the current checkout:

Terminal window
sf project deploy start --target-org your-scratch-org --source-dir subscriber-app/main/default/objects/Account/listViews --source-dir subscriber-app/main/default/objects/Contact/listViews --source-dir subscriber-app/main/default/objects/Opportunity/listViews --wait 30

Add the card to each object’s page using Step 2. In later commands, replace rhc-demo with the alias of this source scratch org. Source and installed-package namespaces are detected by the npm verifier; namespace detection alone does not make older Check definitions match the updated expected results.

Each Check Set runs against the object named below. The two Account sets serve different purposes; choose the one that matches what you want to learn.

Check Set in App BuilderObjectWhat it demonstratesFirst record to try
Example: Account Check Builder GuideAccount25 examples that progress from basic Account fields through related-record queries, comparisons, and Apex. Use this set to learn how to build Checks.Acme Corporation: 7 pass, 17 fail, 0 skip, 1 unable
Example: Account Relationship & RiskAccount8 customer-review Checks covering ownership, Contacts, executive sponsorship, open-deal coverage, pipeline, activity, high-priority Cases, and a parent Account for channel customers.Acme Corporation: 3 pass, 4 fail, 1 skip, 0 unable
Example: Contact Relationship ReadinessContact8 Checks for Account context, role and location details, Email or Phone, reporting line, email bounce status, active ownership, and recent Tasks.Elena Hart (RHC Demo): 8 pass
Example: Opportunity Deal ReadinessOpportunity8 Checks for Account, Amount, Close Date, Next Step, Probability, active ownership, primary Contact, and recent Tasks.RHC Demo Ready Deal: 8 pass

A passing completeness Check does not prove that contact details are valid, communication is permitted, or a Next Step has been agreed. The descriptions explain what each rule actually tests.

When you add Record Health Check to a record page in Lightning App Builder, its Check Set property lists only active sets for that page’s object.

Record pageDefault with the supplied examplesWhat you do
AccountTwo active sets are available, so a newly added component has no automatic selection.Select Example: Account Check Builder Guide or Example: Account Relationship & Risk.
ContactIts one active set is selected automatically.Confirm Example: Contact Relationship Readiness, then save and activate the page.
OpportunityIts one active set is selected automatically.Confirm Example: Opportunity Deal Readiness, then save and activate the page.

If the org does not already have a configured Account page, add the component and select Example: Account Check Builder Guide yourself. Add a second card to show Account Relationship & Risk alongside it.

These defaults assume only the supplied example sets are active. A contributor org can contain additional active test sets; select the intended example explicitly when there is more than one choice.

Automatic selection happens in App Builder when exactly one active set matches the object. Adding another active Contact or Opportunity set removes that automatic default for a newly added card. It does not change a selection already saved on a page. An existing card with a blank selection still needs configuration; the runtime does not silently choose a set.

The Apex files are included in the repository under scripts/subscriber/data/. The source seed command runs them for you. To create or reset the data yourself in a scratch org with the matching current Check definitions, run the four files in this exact order:

OrderApex scriptData prepared
1setupDemoUser.apexCreates or reactivates Jordan Blake.
2setupDemoData.apexCreates the Acme hierarchy and its related records for both Account Check Sets; assigns Acme to Jordan.
3setupReadinessData.apexAdds ready, needs-review, and not-applicable Account scenarios plus Contact and Opportunity scenarios, including Tasks, Cases, Contact Roles, Campaigns, and a Product.
4deactivateDemoUser.apexLeaves Jordan inactive so the owner Checks demonstrate the intended failures.
Terminal window
sf apex run --target-org rhc-demo --file scripts/subscriber/data/setupDemoUser.apex
sf apex run --target-org rhc-demo --file scripts/subscriber/data/setupDemoData.apex
sf apex run --target-org rhc-demo --file scripts/subscriber/data/setupReadinessData.apex
sf apex run --target-org rhc-demo --file scripts/subscriber/data/deactivateDemoUser.apex

You can also open each file and run its contents separately in Developer Console → Debug → Open Execute Anonymous Window. Use four separate executions: Salesforce User changes must be separate from business-record changes. If a data script fails after step 1, run step 4 to leave Jordan inactive, then resolve the error before repeating the lifecycle. The npm runner performs that cleanup automatically.

These scripts require a user who can manage the synthetic demo User and create the listed business records. They reset the named demo records, so preserve manual experiments on separate records. Data creation does not add Record Health Check to Contact or Opportunity pages; follow Step 2 below.

The Account Builder Guide portion creates the same Acme scenario every time. The record counts and relationships are intentional. Seven Checks pass, 17 expose business gaps, none skip, and one reports Unable because the data has no Opportunity Products to compare with the proposal Amount.

Salesforce objectRecords createdPurpose
Account3Corporate parent, operating division, and Acme Corporation
Contact4438 Acme stakeholders and 6 Parent Account stakeholders used by the query examples
Opportunity62 open deals, 3 recent losses, and 1 historical win without a defensible Amount
Opportunity Contact Role4Buying-committee evidence plus one deliberately unreachable stakeholder
Task2Completed customer engagement within the last 60 days
Case16A realistic mix of open and closed High-, Medium-, and Low-priority issues

No Event records are created. Recent engagement comes from the two completed Tasks.

DataExact result
Account hierarchyAsteron Global Holdings → Asteron Industrial Systems → Acme Corporation
Acme classificationType Customer; Industry Technology; Annual Revenue $500,000; 1,250 employees
Parent bill-to policyAcme and its operating parent both use 2400 West Fulton Street, Chicago, Illinois 60612, United States
OwnerJordan Blake is created or reused, assigned to Acme, then deactivated to demonstrate the inactive-owner failure in Account Relationship Risk
Acme Contacts38 total; exactly 6 have no Email; addresses span Cleveland, Columbus, Indianapolis, and Madison
Parent Account Contacts6 total across Chicago, Milwaukee, Detroit, Minneapolis, and St. Louis
Open Opportunities2: a $600,000 proposal and a $0 qualification-stage deal; valued pipeline is concentrated entirely in the proposal
Historical Opportunities3 Closed Lost in the last 90 days and 1 Closed Won without Amount or a primary Contact
Opportunity Contact RolesExactly 4 on the proposal: 1 Decision Maker, 2 Executive Sponsors, and 1 unreachable Business User; no Technical Buyer
Recent activityExactly 2 completed Tasks in the last 60 days
Cases16 total: 4 open High, 4 open Medium, 4 open Low, and 4 closed; 6 of 12 open Cases have no Contact; 1 named priority Contact has no email

The setup uses dates relative to the day it runs. Calendar dates therefore move, but record counts, relationships, and health-check outcomes remain predictable. The Acme data above is supplemented by the readiness scenarios below.

The complete dataset contains 8 Accounts, 51 Contacts, 19 Opportunities, 12 Contact Roles, 6 Tasks, 20 Cases, 1 Campaign, 1 Product, and 4 Opportunity Line Items, plus one inactive demo User. The Product has one standard Price Book Entry. No Events are created.

ScenarioRecordWhat it tests
Inactive Account ownerAcme Corporation / Jordan BlakeActual owner name and inactive status; Account Builder Guide retains its expected results
Builder Guide readyRHC Builder Ready Account22 Checks pass and 3 service-to-sales handoff Checks skip because there are no Cases; the Check Set has no failures
Builder Guide needs reviewRHC Builder Needs Review Account22 Checks fail against deliberate gaps; 3 service-to-sales handoff Checks pass to prove their opposite outcome
Builder Guide not applicableRHC Builder Empty AccountNo related records; verifies the expected passing, failing, and skipped behavior when a Check has nothing relevant to evaluate
Ready AccountRHC Demo Ready AccountAll 8 Account Relationship Risk Checks pass, including channel parent, pipeline, customer contacts, and activity
Account needing reviewRHC Demo Review AccountAll 8 Account Relationship Risk Checks fail with low pipeline, a high-priority Case, missing relationships, and an inactive owner
Ready ContactElena Hart (RHC Demo)All 8 Contact Checks pass; same-Account manager, complete details, and recent Tasks
Manager without activityMarcus Shaw (RHC Demo)Department instead of Title, no manager, and missing recent Task
Contact needing reviewMorgan Vale (RHC Demo)All 8 Contact Checks fail; no Account or contact details, manager on another Account, inactive owner, and no recent Task
Bounced emailRiley Chen (RHC Demo)Email Check fails, while a recorded contact channel still passes
Ready dealRHC Demo Ready DealAll 8 Opportunity Checks pass; primary Contact, recent Task, 50% probability, and matching Product total
Deal needing reviewRHC Demo Review DealAll 8 Opportunity Checks fail, including missing Account, zero Amount, placeholder Next Step, overdue date, and 100% on an open deal
Closed dealsRHC Demo Closed Won / RHC Demo Closed Lost100% / 0% display correctly; open-deal Contact and activity Checks skip
Low pipelineRHC Demo Low PipelinePositive Amount below the Account coverage target; missing primary Contact and recent Task

The verifier checks 49 active examples across four Check Sets. It asserts 122 results across these scenarios and the Acme Builder Guide, including a positive Product-total comparison. The inactive Industry-alignment sample is not part of the active Check Set verification. The one expected Unable result remains on Acme, which intentionally has no Products. The ready deal supplies the corresponding passing Product-total example.

The demo Contact and Opportunity list views include the new readiness records. The pipeline-to-revenue example assumes a single currency; align currencies before adapting it to a multicurrency org.

After deploying current source, run:

Terminal window
npm run demo:setup-source -- --alias your-scratch-org
npm run demo:verify-source -- --alias your-scratch-org

The second command only verifies. Repeating setup reuses Jordan and the Product, replaces the named demo child records, and leaves Jordan inactive. Setup deliberately replaces demo records, so use a separate Account for manual experiments you want to preserve. Verification checks known record counts, relationships, each expected Check status, display values, and unresolved merge tokens.

Delete demo Tasks, Cases, Opportunity Contact Roles, and Opportunities first. Readiness Tasks use subjects RHC Demo Relationship Review and RHC Demo Deal Review; readiness Cases use RHC Demo Routine Question and RHC Demo Urgent Issue; readiness Opportunity names begin RHC Demo. Then delete Contacts tagged with Assistant Name RHC-DEMO-READINESS and the five Accounts whose Account Number starts with RHC-DEMO-, deleting child Accounts before parents. Remove the RHC-DEMO-PRODUCT Product and its Price Book Entry after its Opportunity Line Item is gone. Salesforce Users cannot be deleted; leave Jordan inactive. His Federation Identifier is rhc-demo-owner-jordan-blake. Keep the standard Price Book and other users intact.

After setup, use these expected outcomes to verify all 25 Checks on Acme Corporation. Severity is shown only when a Check fails.

OrderCheckTypeExpected outcomeWhy the demo produces this result
10Account Type is setFormulaPassAcme has Type Customer.
20Account has a phone number or websiteFormulaPassAcme has both a business Phone and Website.
30Billing address matches the parent bill-to accountFormulaPassThe complete billing address matches the parent Account.
40High-priority open Cases stay within the limitVerify with QueryFail (Critical)4 high-priority open Cases exceed the maximum of 1.
50At least one open Opportunity is CommitVerify with QueryFail (Info)No open Opportunity has Forecast Category Commit.
60Every open Case has a ContactVerify with QueryFail (Critical)6 of 12 open Cases have no Contact.
70Every escalated open Case has a DescriptionVerify with QueryFail (Warning)The open escalated Case has no Description.
80Every open Opportunity has an active ownerVerify with QueryPassBoth open Opportunities have active owners.
90No proposal has a missing or low AmountVerify with QueryPassNo proposal has a blank Amount or an Amount below $25,000.
100Open Opportunities include a Decision MakerVerify with QueryPassOne Decision Maker Contact Role is recorded on an open Opportunity.
110Contacts on open deals have Email or PhoneVerify with QueryFail (Warning)One Contact Role has neither Email nor Phone.
120Open-deal Contact Roles include Technical BuyerVerify with QueryFail (Info)Technical Buyer is absent from the returned Contact Role values.
130Cases closed keep pace with Cases createdVerify with QueryFail (Warning)4 Cases closed and 16 were created in the last 30 days.
140Every won Opportunity has an AmountCompare Two QueriesFail (Warning)The won Opportunity has no Amount.
150Every proposal has a Next StepCompare Two QueriesFail (Warning)The proposal has no Next Step.
160Every proposal has a Primary Campaign SourceCompare Two QueriesFail (Critical)The proposal has no Primary Campaign Source.
170Open Opportunity Close Dates are in rangeCompare Two QueriesFail (Info)Only 1 of 2 open Opportunities closes within the next 180 days.
180Every open Opportunity has a Contact RoleCompare Two QueriesFail (Critical)Only 1 of 2 open Opportunities has Contact Roles.
190Every won Opportunity has a primary ContactCompare Two QueriesFail (Warning)No won Opportunity has a primary Contact Role; the configured no-row behavior fails.
200New pipeline value covers recently lost valueCompare Two QueriesFail (Critical)$600,000 in new pipeline is below $760,000 in recently lost value.
210Total proposal Amount matches total Product valueCompare Two QueriesUnable to EvaluateThere are no Opportunity Products, so no Product total is available.
220Sales and service share a Contact nameCompare Two QueriesFail (Warning)Open Case Contact names and open Opportunity Contact names do not overlap.
230Sales Contact names cover priority Case ContactsCompare Two QueriesFail (Warning)Priority Case Contact names are absent from open Opportunity Contact names.
240Open Opportunity names match those with ProductsCompare Two QueriesFail (Warning)Two open Opportunity names are compared with an empty list of Opportunity names with Products.
250Account activity meets the 60-day cadenceApexPassTwo completed Tasks meet the configured minimum of two.

The exact summary is 7 Passed, 17 Failed, 0 Skipped, and 1 Unable. The design intentionally shows more problems than successes so adopters see meaningful detection and remediation behavior.

These 25 Checks do not use categories, so the card shows one overall summary. Found and Expected values state the measured business evidence and the governing policy or comparison baseline.

Technical diagnosis is separate from the teaching tooltip. Issue, Where, Why, timing, and server diagnostic details appear only when the Check Set has Show Diagnostics enabled and the running user is directly assigned Record Health Check Admin or Record Health Check Diagnostics Viewer. Assign Record Health Check Diagnostics Viewer alongside Card User or User to test those details. A System Administrator receives these details only through one of those two assignments.

The Account Builder Guide runs on request, reveals one result at a time, shows passed and skipped rows, shows Found and Expected on demand, and places the summary at the bottom.

Open the prepared Account list:

Terminal window
sf org open --target-org rhc-demo --path 'lightning/o/Account/list?filterName=RHC_Demo_Accounts'

Open Acme Corporation, select Gear → Edit Page, and add Record Health Check if the page does not already contain it. Select Example: Account Check Builder Guide in the component properties, then save and activate the page. Return to Acme, run the Checks, and compare the results with the table above.

To test the other Account set:

  1. Open Gear → Edit Page.
  2. Select the Record Health Check component.
  3. In its Check Set property, choose Example: Account Relationship & Risk. You can instead add a second Record Health Check component and select this set on that card.
  4. Save, then Activate if the page has not been assigned to your app, profile, or record type.
  5. Return to Acme and run the Checks. Expect Jordan Blake’s inactive ownership to fail.
  6. Open RHC Demo Ready Account and RHC Demo Review Account to compare the passing and failing scenarios using this same set.

Contact: The single set is selected automatically

Section titled “Contact: The single set is selected automatically”

Open Contacts → RHC Demo Contacts and select Elena Hart (RHC Demo).

  1. Open Gear → Edit Page and add Record Health Check if it is not already on the page.
  2. Select the component. Example: Contact Relationship Readiness is the automatic Check Set default while it is the only active Contact set. Confirm the property before saving.
  3. Save and Activate the page for the app/profile/record types you are testing.
  4. Return to the record. Run the Checks when the card offers a Run button, or wait for an automatic run if the Check Set is configured that way.
  5. Compare Elena with Morgan Vale (RHC Demo), Marcus Shaw (RHC Demo), and Riley Chen (RHC Demo).

Opportunity: The single set is selected automatically

Section titled “Opportunity: The single set is selected automatically”

Open Opportunities → RHC Demo Opportunities and select RHC Demo Ready Deal.

  1. Open Gear → Edit Page and add Record Health Check if it is not already on the page.
  2. Confirm that Example: Opportunity Deal Readiness is selected automatically while it is the only active Opportunity set.
  3. Save and Activate the page for the users and record types you are testing.
  4. Return to the record and run the Checks, or wait for its configured automatic run.
  5. Compare the ready deal with RHC Demo Review Deal, the closed deals, and RHC Demo Low Pipeline.

The list-view deployment in Step 1 adds the demo views. The source seed command adds the data. Add the card once to each object’s page as described above. The demo views select Acme-related and named readiness records; other records matching those filters can also appear if you create them.

Check SetRecordPassFailSkipUnable
Account Check Builder GuideAcme Corporation71701
Account Relationship & RiskAcme Corporation3410
Account Relationship & RiskRHC Demo Ready Account8000
Account Relationship & RiskRHC Demo Review Account0800
Contact Relationship ReadinessElena Hart (RHC Demo)8000
Contact Relationship ReadinessMarcus Shaw (RHC Demo)7100
Contact Relationship ReadinessMorgan Vale (RHC Demo)0800
Contact Relationship ReadinessRiley Chen (RHC Demo)6200
Opportunity Deal ReadinessRHC Demo Ready Deal8000
Opportunity Deal ReadinessRHC Demo Review Deal0800
Opportunity Deal ReadinessRHC Demo Closed Won6020
Opportunity Deal ReadinessRHC Demo Closed Lost6020
Opportunity Deal ReadinessRHC Demo Low Pipeline5300

The Account Builder Guide’s single Unable result is intentional: Acme has no Product total. Acme’s Account Relationship & Risk set skips channel governance because Acme is not a channel customer. Closed Opportunities skip primary-Contact and recent-Task Checks because those apply only to open deals. The inactive Industry-alignment example is excluded from the eight Account Relationship & Risk Checks.

Expand Found and Expected to inspect the evidence. Some configured no-row failures have no comparison values; that absence does not mean a measured zero. A ready record passes all eight readiness Checks, while the needs-review records expose the specific gaps described above.

The current-source seed command verifies all four sets automatically. To repeat that verification without changing the data, use the repository’s namespace-aware verifier:

Terminal window
npm run demo:verify-source -- --alias rhc-demo

It detects the deployed framework namespace. The Check definitions must still match this checkout; namespace detection does not resolve differences between releases. For individual Apex verification steps:

Terminal window
sf apex run --target-org rhc-demo --file scripts/subscriber/data/verifyDemo.apex
sf apex run --target-org rhc-demo --file scripts/subscriber/data/verifyReadinessData.apex

verifyDemo.apex retains the detailed Acme Builder Guide and display-value assertions in a namespaced rhc org. Use the npm verifier for a no-namespace source org. verifyReadinessData.apex checks record counts, relationships, Product data, and Jordan’s inactive ownership. The npm verifier then executes every named outcome in the scenario matrix. The matrix includes both PASS and FAIL for every active packaged Check, plus SKIPPED and UNABLE_TO_EVALUATE where those behaviors are part of the Check. The source gate npm run check:demo-outcome-coverage prevents a Check or Check Set from being added without that complete contract.

The demo is ready when setup and verification finish without assertion errors, all four cards show the expected summaries above, and the expanded results match the seeded evidence. These outcomes verify the prepared demo; use Install and verify in your org to evaluate an unrelated sandbox or production dataset.

The setup command does not overwrite an existing org alias. If setup fails after creating the scratch org, read the final operation shown in the terminal. If you no longer need that incomplete org, delete that exact scratch org before retrying:

Terminal window
sf org delete scratch --target-org rhc-demo --no-prompt

This deletion cannot be undone. Confirm that rhc-demo is the disposable scratch org created by this setup before running the command. If you need the incomplete org for troubleshooting, keep it and rerun setup with a different alias.

For an existing source org, inspect the org and rerun verification without replacing data:

Terminal window
sf org display --target-org rhc-demo
npm run demo:verify-source -- --alias rhc-demo

If a data script failed, run deactivateDemoUser.apex before retrying so Jordan is not left active. A verification failure can mean that data scripts and Check definitions from different releases or source checkouts were mixed. Return to Step 1 and use matching versions. Do not change expected results merely to make a verifier pass.

If Diagnostics Viewer is absent from Setup, assign Record Health Check Admin instead. An org-owned Permission Set cannot grant diagnostics, as described in Permission Sets.

A scratch-org administrator does not represent a restricted user. To test everyday-user access, use a separate non-admin user with access to the demo records and required fields. This checkout includes other permission sets for specific jobs. Assign them only when you want to test that job:

Permission setUse it to test
Record Health Check Card UserRun the Lightning record-page card and select an available Check Set in App Builder
Record Health Check UserRun Checks through Flow, Apex, REST, Agentforce, Queueable, Batch, or Scheduled entry points
Record Health Check AdminConfigure Check metadata, validate setup, and view Issue, Where, and Why diagnostics when the Check Set enables them
Record Health Check Diagnostics ViewerView Issue, Where, and Why while testing as a Card User or User; enable Show Diagnostics on the Check Set and assign this set alongside the existing runner set
Record Health Check MCP IntegrationCall the limited MCP and agent-tool REST API from an approved integration user
Record Health Check Error Log PublisherPublish restricted error-log events from a narrowly approved automation user

To test diagnostics as an everyday user:

  1. In Setup → Permission Sets, open Record Health Check Diagnostics Viewer.
  2. Select Manage Assignments → Add Assignments and choose the test user who already has Card User or User.
  3. On the example Check Set, enable Show Diagnostics, then open the record as that user and run the card. Inspect Diagnosis on an Unable to Check or System Error result.
  4. After testing, turn off Show Diagnostics and remove the temporary Diagnostics Viewer assignment.

Diagnostics Viewer grants diagnostic access only; it does not let someone run Checks by itself. A user with Record Health Check Admin already has diagnostic access and does not need the additional assignment.

These permission sets add Record Health Check access. They do not grant access to Account, Contact, Opportunity, Case, or any custom object used by a Check. Keep Salesforce record and field access in your organization’s normal profiles and permission sets.

Scratch-org capacity is managed in the Dev Hub. In its Setup, enter Scratch Org Info in Quick Find to review active and deleted scratch orgs; limits also appear in the Dev Hub’s Company Information. A scratch org expires automatically at the end of its duration. Deleting it early or allowing it to expire permanently removes its data.

The documented dataset uses one currency, so currency values use symbols such as $600,000. Record Health Check also supports multi-currency orgs, where currency evidence includes the ISO currency code. See Localization when you need to test that separate presentation.

On Windows, run the npm commands in PowerShell, Command Prompt, or Git Bash. On macOS or Linux, use your terminal. For an installed-package demo, use the setup scripts associated with that release. For the updated examples, run the source seed and verifier from this checkout. Do not call a Windows-only Salesforce CLI installation from WSL; use a shell that can run the installed CLI.

Your next goalContinue with
Install in a sandbox or production org you controlInstall and verify in your org
Build a small Check of your ownCreate your first Check
Understand another evaluation patternExamples library
Investigate a result that differs from this pageTroubleshoot Record Health Check