---
id: SCR-PFM-MTD-014
title: Custom record list
route: /console/{tenantId}/objects/{objectKey}
surface: console
product_area: platform
module: metadata
revision: 1
status: draft
design_intent: confirmed
origin: 'PLAT-M5 D9 (Andrew, 2026-10-19: in an app it has the Record Explorer), Product Accepted 2026-10-20'
implementation_evidence: observed
inference:
- IOP-PFM-MTD-001
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: Staff browse custom entries through the shared Record Explorer. The active object supplies the dataset
  and list definition.
supports:
- JNY-PFM-MTD-001
- JNY-PFM-MTD-003
- CAP-PFM-MTD-012
- CAP-PFM-MTD-011
- CAP-PFM-MTD-010
permission: platform.custom-records.read and platform.custom-records.query at the object's scope
entry_from:
- The app menu entry for the object
- SCR-PFM-MTD-018 (owned records)
exits_to:
- SCR-PFM-MTD-015
- SCR-PFM-MTD-016
displays:
- field: The object's labels, prefix and status
  source: getCustomObject
- field: Records with number, name, properties and the owner's fields as columns and filters
  source: the Queries dataset and Explorer recipe of the object (owned by Queries)
actions:
- label: New record
  operation_id: 'none: opens the new record form'
  permission: platform.custom-records.create
  confirm: false
- label: Export
  operation_id: 'none: the Queries export (owned by Queries)'
  permission: platform.custom-records.export
  confirm: false
- label: Ask (turn a question into filters)
  operation_id: 'none: the Queries query generation (owned by Queries)'
  permission: platform.custom-records.query
  confirm: false
states:
- loading
- error
- empty
- not found (no reach)
- 'inactive (draft or archived object: nothing to browse)'
validation:
- BR-CAP-PFM-MTD-012-01
- BR-CAP-PFM-MTD-012-14
- BR-CAP-PFM-MTD-011-01
- BR-CAP-PFM-MTD-011-08
patterns:
- PageLayout (full width)
- Record Explorer (recipe explorer)
- view bar and saved views
- object gate
component: components/console/custom-objects/object-records-explorer.tsx, object-records-definition.tsx
evidence:
- 'react-console at baf6dae3: app/(console)/console/[tenantId]/objects/[objectKey]/page.tsx; components/console/custom-objects/object-records-explorer.tsx,
  object-records-definition.tsx, object-gate.tsx; components/record-explorer/use-recipe-explorer.ts; lib/record-explorer/ask.ts'
controls: [TC-AI-001, TC-AI-002, TC-AI-003, TC-AI-004, TC-AI-006, TC-AI-007, TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-DAT-005, TC-DAT-006, TC-IAM-001, TC-IAM-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-002, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Custom record list

## What the Screen Is For

Staff browse custom entries through the shared Record Explorer. The active object supplies the dataset and list definition.

## What It Shows and Lets People Do

Columns include derived identity, properties and supported owner fields. Permitted callers can create or export. With the live generation flag enabled, Ask delegates a question to Queries and maps a representable answer to filters.

## States and Errors

Unavailable or unreadable objects produce not found. Draft and archived categories show no browseable list, while individual records can still open by identity. Ask preserves local parsing when generation is disabled and explains failed or unrepresentable generated results.

## Patterns It Must Respect

The existing recipe-based Explorer supplies views, filters, notices and a full-width list under the object gate. Query inference is declared explicitly as a consumed operation.
