---
id: SCR-PFM-MTD-012
title: Custom apps
route: /console/{tenantId}/configuration/platform/customApps
surface: console
product_area: platform
module: metadata
revision: 1
status: draft
design_intent: confirmed
origin: PLAT-M5 D15 (build custom apps), B2 (no limit yet) and B3 (refuse, name objects), Product Accepted 2026-10-20
implementation_evidence: observed
inference: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: "Administrators create application-menu homes for the workspace\u2019s custom categories. The app list\
  \ manages those local groupings."
supports:
- CAP-PFM-MTD-010
permission: platform.custom-objects.read to view; .create, .update and .delete to change
entry_from:
- Configuration home (Platform application)
exits_to:
- The app menu, refreshed after a change
displays:
- field: Each app's icon, label, order and the active objects placed in it
  source: listCustomApps
actions:
- label: New app
  operation_id: createCustomApp
  permission: platform.custom-objects.create
  confirm: false
- label: Save
  operation_id: updateCustomApp
  permission: platform.custom-objects.update
  confirm: false
- label: Archive
  operation_id: archiveCustomApp
  permission: platform.custom-objects.delete
  confirm: true
- label: Restore
  operation_id: restoreCustomApp
  permission: platform.custom-objects.delete
  confirm: false
states:
- loading
- error
- empty
- read-only
- inactive (archived apps)
validation:
- BR-CAP-PFM-MTD-010-03
- BR-CAP-PFM-MTD-010-04
- BR-CAP-PFM-MTD-010-06
patterns:
- PageLayout (standard width)
- PageHeader
- ConfigBreadcrumb
- EmptyState
- LoadingIndicatorPanel
- configuration area resource list and form
- icon picker
component: components/configuration/resources/custom-apps.tsx
evidence:
- 'react-console at baf6dae3: components/configuration/resources/custom-apps.tsx; lib/custom-objects/config-adapters.ts,
  hooks.ts'
controls: [TC-AI-001, TC-AI-002, TC-AI-003, TC-AI-004, TC-AI-006, TC-AI-007, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-DAT-001, TC-DAT-003, TC-DAT-004, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-003, 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 apps

## What the Screen Is For

Administrators create application-menu homes for the workspace’s custom categories. The app list manages those local groupings.

## What It Shows and Lets People Do

Rows show ordered apps and active placed objects. Keys remain fixed, and archival requires moving every draft or active placement first.

## States and Errors

The form presents service refusals, including placed-object blockers. Successful changes refresh the category data and navigation.

## Patterns It Must Respect

The built configuration resource uses its standard list and form with icon selection and archival confirmation.
